环境:centos7、docker已经安装好了
1、查询镜像
docker search mysql
默认使用第一个
2、下拉mysql镜像:具体版本在后面加 <:版本号>
如下拉5.7版本的
docker pull mysql:5.7
如果不指定版本则默认是最新版
3、 查看下拉下来的镜像
docker images
4、创建数据保存的文件夹
mkdir -p /data/mysql/conf
mkdir -p /data/mysql/data
mkdir -p /data/mysql/log
5、运行mysql镜像
docker run -p 3306:3306 --name mysql -v /data/mysql/conf:/etc/mysql -v /data/mysql/log:/var/log/mysql -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=12345678 -d mysql:5.7
参数说明
-p 端口号映射,使通过本机ip+端口号可以访问mysql 本机访问mysql端口号:容器mysql的端口号
--name 为创建的容器命名
-v 将本地文件夹挂载到容器相应文件夹上
-d 后台运行
6、开放本机3306端口
vi /etc/sysconfig/iptables
重启iptables
systemctl restart mysql
测试连接mysql。
7、现在mysql就可以访问了,如果出现用户权限不足的情况,请grand all 进行授权 。(如果远程可以连接成功,请忽略本步骤)
7.1 查看启动的容器
docker ps
7.2 进入容器
docker exec -it b3392a2c9f7e /bin/bash
7.3 登录mysql
mysql -uroot -p
7.4给所有用户授权
grant all privileges on *.* to '用户名'@'%' identified by '登录密码' with grant option;
flush privileges;
7.5远程测试登录