Docker部署MySql
记录一下Docker部署MySql的流程和遇到的问题。
部署
拉取镜像:docker pull mysql:8.0.33
设置映射:
1 | /xxx/MySQL:/var/lib/mysql:rw |
环境变量:
1 | MYSQL_ROOT_PASSWORD=xxxxxxxxx |
然后把容器run起来。
修改设置
进入docker容器的命令行,连上mysql:
1 | docker exec -it docker容器名 bash |
改下远程登录设置:
1 | use mysql; |
因为我自己需要mysql_native_password
方式,所以还要:
1 | ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码'; |
然后就可以用了。
遇到的问题
由于我是在新主机上按照旧配置重建数据库,所以在docker pull
的时候,使用了旧主机上的latest
tag,导致拉下来的镜像是MySql9,在启动的时候一直报错:
1 | The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it. |
后来发现是版本问题。
因为我的需求就是MySql8,所以也没有细究报错原因,指定tag为8.0.33
重新启动后,就没问题了。