docker 安装 mysql
参考:https://blog.csdn.net/xsj34567/article/details/80940238
https://hub.docker.com/_/mysql
1|0安装
1 2 3 4 | #2020-3-16更新 #使用以下命令启动容器,不需要其他参数了 docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 - v /data/mysql/data : /var/lib/mysql --name mysql --restart=always -d mysql --character- set -server=utf8mb4 --collation-server=utf8mb4_unicode_ci<br><br> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | docker pull mysql docker run \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=123456 \ - v /data/mysql/data : /var/lib/mysql :rw \ - v /data/mysql/log : /var/log/mysql :rw \ - v /data/mysql/mysql-files : /var/lib/mysql-files :rw \ - v /data/mysql/conf : /etc/mysql/conf .d:rw \ - v /etc/localtime : /etc/localtime :ro \ --name mysql8 \ --restart=always \ -d mysql --lower_case_table_names=1 #单行 #docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /data/mysql/data:/var/lib/mysql:rw -v /data/mysql/log:/var/log/mysql:rw -v /data/mysql/conf:/etc/mysql:rw -v /data/mysql/mysql-files:/var/lib/mysql-files:rw -v /etc/localtime:/etc/localtime:ro --name mysql8 --restart=always -d mysql --lower_case_table_names=1#挂载conf.d 仅在以自定义配置文件运行mysql容器时使用; #以下为3个常用配置: --lower- case -table-names=1 --character- set -server=utf8mb4 --collation-server=utf8mb4_unicode_ci #如果还需要知道其他配置,可以使用以下命令: docker run -it -- rm mysql:tag --verbose --help mysql /data 是数据库文件存放的地方。必须要挂载到容器外,否则容器重启一切数据消失。 mysql /log 是数据库主生的log。建议挂载到容器外。 mysql /conf 是数据库的配置文件 /etc/localtime : /etc/localtime :ro 是让容器的时钟与宿主机时钟同步,避免时区的问题,ro是 read only的意思,就是只读。 |
2|0配置mysql 用户
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #进入容器<br>docker exec -it mysql bash<br><br>#root登陆 ,输入密码<br>mysql -u root -p<br><br>#查询所有用户<br>use mysql; select user,host,authentication_string,plugin from user; #创建一个用户 create user 'web' @ '%' identified by '123456' ; #授权 grant all privileges on *.* to 'web' @ '%' with grant option; #设置所有host可连接 update user set host= '%' where user= 'web' ; #设置密码永不过期 ALTER USER 'web' @ '%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; #设置密码类型 ALTER USER 'web' @ '%' IDENTIFIED WITH mysql_native_password BY '123456' ; #刷新 FLUSH PRIVILEGES; |
1 2 3 | #创建数据库 CREATE DATABASE `Core` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci' ; |
__EOF__
作 者:码农搞事情
出 处:https://www.cnblogs.com/fmp/p/docker-mysql.html
关于博主:一本正经写程序&不务正业搞事情
版权声明:欢迎分享,转载请注明出处。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?