一、拉取 Docker Hub 官方提供的MySQL镜像
docker pull mysql:5.7
二、创建数据、日志存放路径
mkdir -p ~/mysql/{data,logs}
三、运行容器
docker run -d --name mysql \
-v ~/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=111111 \
-p 3307:3306 \
mysql:5.7
-d: –后台运行容器
–name mysql: –创建的容器名称
-v ~/mysql/data:/var/lib/mysql: –将主机当前目录下的~/mysql/data挂载到容器的/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=111111: –使用111111作为root账号的密码
-p 3307:3306: –容器的3306端口映射到宿主机器3307端口
mysql:5.7: –镜像Name:Tag
注意: 官方拉取的MySQL默认的数据存放路径为/var/lib/mysql,而在MySQL容器中,不支持修改,所以采用挂载的方式修改数据存放路径。
四、进入容器
docker exec -it mysql bash
五、开启远程连接
1.登录MySQL
mysql -uroot -p111111
2.进行授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '111111' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
六、大小写忽略
1.拷贝容器中的mysqld.cnf文件
docker cp mysql:./etc/mysql/mysql.conf.d/mysqld.cnf \
~/mysql/mysqld.cnf
2.修改mysqld.cnf文件,添加:
[mysqld]
lower_case_table_names=1
3.拷贝修改后的mysqld.cnf文件到容器
docker cp ~/mysql/mysqld.cnf \
mysql:./etc/mysql/mysql.conf.d/mysqld.cnf
七、重启容器
docker restart mysql
八、查看MySQL日志
docker logs mysql
注意:mysql5.7的docker版本,配置文件里,默认是开启远程登录的