1、离线下载mysql镜像包并拷贝到需要安装的linux环境目录下
安装包地址:
链接: https://pan.baidu.com/s/1SZ-VPHltam69FySB68lV9g?pwd=3i8s 提取码: 3i8s
将mysql571.gz拷贝到home目录下
2、安装mysql
2.1、进入mysql安装包目录
cd /home/
2.2、加载mysql镜像
docker load -i mysql571.gz
2.3、查看镜像
docker images
2.4、创建mysql容器
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --restart always c20987f18b13
执行命令如下图:
参数解释:
-d: 表示在让容器后台运行
–name: 给容器起一个名字
-p 3306:3306: 把宿主机的3308端口(port)映射到Mysql容器的3306端口
-e MySQL: 容器的环境配置
MYSQL_ROOT_PASSWORD=123456 指定mysql根用户的密码,用户名默认为root,注意如果没有指定密码,会启动失败。
–restart always:挂掉后重启
c20987f18b13:镜像的IMAGE ID
2.5、查看容器,操作容器
2.5.1、进入mysql容器bash交互界面:
docker exec -it mysql bash
2.5.2、登录mysql
mysql -u root -p
2.5.3、修改root远程连接权限
切换数据库
mysql> use mysql
给root用户授权
mysql>grant all privileges on.to ‘root’@‘%’ identified by ‘123456’ with grant option;
退出
mysql>exit;
2.5.4、远程连接mysql
连接成功,可以进行数据库操作了。
额外补充:
若启动报错OCI runtime create failed: container_linux.go:349: starting container process caused “process_linux.go:449: container init caused “write /proc/self/attr/keycreate: permission denied””: unknown,可能的原因是系统安全模块限制,解决方案如下:
- 检查 SELinux 状态(主要针对 CentOS/RHEL 系统)
getenforce- 如果输出为Enforcing(强制模式),可临时切换为宽容模式测试:
setenforce0- 重新尝试启动容器,如果问题解决,说明是 SELinux 限制导致。可通过以下方式永久解决:
编辑 SELinux 配置文件:vi /etc/selinux/config 将SELINUX=enforcing改为SELINUX=permissive 重启系统生效(或保持临时宽容模式)