Docker安装MySQL 5.7
Docker安装MySQL 5.7
需要先安装好Docker。
1、启动docker
启动docker
systemctl start docker
2、查找MySQL镜像
docker search mysql
3、拉取MySQL镜像
:5.7 表示5.7版本
docker pull mysql:5.7
4、运行MySQL容器
复制,然后Shift+Insert粘贴到虚拟机终端(注意没有换行,这是一行命令):
docker run -d -p 3306:3306 --privileged=true -v /docker/mysql/conf/my.cnf:/etc/my.cnf -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
参数说明:
run run 是运行一个容器
-d 表示后台运行
-p 表示容器内部端口和服务器端口映射关联。前面的数字是映射的端口,后面的数字是真实的端口。代表把容器的3306端口映射到虚拟机的3306端口。
–privileged=true 设值MySQL 的root用户权限, 否则外部不能使用root用户登陆
-v /docker/mysql/conf/my.cnf:/etc/my.cnf 将服务器中的my.cnf配置映射到docker中的/docker/mysql/conf/my.cnf配置
-v /docker/mysql/data:/var/lib/mysql 同上,映射数据库的数据目录, 避免以后docker删除重新运行MySQL容器时数据丢失
-e MYSQL_ROOT_PASSWORD=123456 设置MySQL数据库root用户的密码
–name mysql 设值容器名称为mysql
mysql:5.7 表示从docker镜像mysql:5.7中启动一个容器
–character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci 设值数据库默认编码
5、连接
首先需要关闭CentOS防火墙(如果是阿里云服务器则要配置安全组)
systemctl stop firewalld.service
systemctl disable firewalld.service
CentOS虚拟机的IP是192.168.142.128。
使用Navicat新建数据库连接:
6、CentOS重启以后的MySQL启动
启动docker
systemctl start docker
查看所有容器:
docker ps -a
启动容器:
docker start e8abe6273e22
停止容器
docker stop e8abe6273e22