1、首先拉取官方镜像mysql5.7版本
docker pull mysql:5.7
2、运行mysql,执行以下命令
docker run -d --ulimit nofile=65536:65536 --name mysql5.7 -v /home/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 a1aa4f76fab9
以下是命令解释:
d : --detach,后台运行。
--ulimit:解除Docker最大连接数限制
--name : 为你的镜像创建一个别名,该别名用于更好操作。
-p : 映射端口,一般我们会将默认端口进行更改,避免与本机的mysql端口冲突,如果你宿主机有mysql,请更改端口,如 -p 33060:3306。
-e : 环境变量。为mysql的root用户设置密码为root。
-v : 指定数据卷,意思就是将mysql容器中的/home/mysql(这个是数据库所有数据信息文件)映射到宿主机/home/mysql里面。如果我们将mysql镜像删除了,重新安装,那么只需要指定数据卷就可以进行数据还原了
安装成功后会有大小写区分及时差问题,需要进行如下步骤的调整
步骤一:安装vim
yum install vim
步骤二:进入mysql容器
docker exec -it 容器名称 bash
步骤三:
apt-get update
apt-get install -y vim
步骤四:进入docker的MySQL容器,编辑/etc/mysql/mysql.conf.d/mysqld.cnf文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
步骤五:在[mysqld]下添加如下:并进行保存退出,esc键加:wq
lower_case_table_names=1
default-time_zone='+8:00'
步骤六:退出容器
exit
步骤六:重启mysql容器
docker restart mysql5.7
参考博客:https://www.cnblogs.com/nihaorz/p/10255932.html
https://www.cnblogs.com/mafeng/p/6768916.html
https://blog.csdn.net/weixin_43569697/article/details/90649130
https://www.cnblogs.com/bingle/p/9785621.html
https://blog.csdn.net/qq_28018283/article/details/80109290
mysql数据卷分离参考:https://www.jianshu.com/p/57420240e877
解除连接数过多问题参考:https://blog.csdn.net/weixin_39835887/article/details/86071545