在Docker中使用MySQL

在Docker中使用MySQL还是很方便的。

MySQL 5.7版本创建命令

docker run -it --name mysql2 -p 3306:3306 -v /My/own/data_path:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mypass -d mysql:5.7.35

这里挂载了一个目录作为MySQL的数据目录。

如果兼顾ARM平台,可使用MySQL8,因为MySQL 5的Docker镜像不支持ARM架构,所以要使用mysql/mysql-server:8xx镜像。mysql-server相对mysql有所优化。

docker run -it --name mysql2 -p 3306:3306 -v /My/own/data_path:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mypass -d mysql:mysql-server:8.0.26 --default-authentication-plugin=mysql_native_password

最后一个选项是认证时使用mysql_native_password而不是默认的caching_sha2_password,以兼容老的程序,比如MySQL管理工具Sequel Pro等。

如果只能从本机访问MySQL而不能从外部连接,则需要修改用户的权限,具体参见MySQL允许用户外网访问

Leave a Comment

豫ICP备19001387号-1