1. 指定版本8.0.29启动容器mysql
docker run -d \
-p 3396:3306 \
-v /liush/mysql/conf:/etc/mysql/conf.d \
-v /liush/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
--name mysql-8 \
--restart=always \
mysql:8.0.29
参数解析
-d 后台运行
-p 端口映射
-v 卷挂载
-e 环境配置
2. 修改mysql容器密码
mysql8安装后 默认密码加密的插件不是mysql_native_password,所以之前老版本的mysql客户端工具不能直接使用密码连接必须升级到最新版本,或者修改mysql8密码加密的插件为mysql_native_password
① 进入容器:env LANG=C.UTF-8 避免容器中显示中文乱码
docker exec -it mysql-8 env LANG=C.UTF-8 /bin/bash
② 进入容器内的mysql命令行
mysql -uroot -proot
③ 使用mysql_native_password密码插件创建新的账户root % 并使用它加密密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
3. 如果报错IpV4...解决方案如下
WARNING: IPv4 forwarding is disabled. Networking will not work.
① 修改配置文件
vim /usr/lib/sysctl.d/00-system.conf
② 添加
net.ipv4.ip_forward=1
4. 重启网络和容器
① 重启网络
systemctl restart network
② 重启mysql容器
docker restart liush-mysql-8
5. 远程连接测试
端口号:3390,账号:root,密码:root