注意:本文是在centos7环境下安装的docker 如果已安装docker就直接安装mysql即可
下面都是直接执行在linux中的命令,直接执行即可
安装docker
第一步:设置YUM源
yum install -y yum-utils device-mapper-persistent-data lvm2
第二步:阿里镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
第三步:安装docker
yum -y install docker-ce
第四步:启动docker
systemctl start docker
第五步:查看docker状态
systemctl status docker
出现active(running)则说明docker已经安装并且启动成功了
docker中安装mysql
第一步:拉取mysql镜像(我这里以mysql8.0版本为例,这个挺好使的)
docker pull mysql:8.0
注:此处如果不想用8.0版本可以自行更改,也可以执行 docker search mysql 选择一个合适的版本替换上面的8.0
第二步:创建mysql容器
docker run -p 3306:3306 --name mysql1 --privileged=true -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/var/mysql -e MYSQL_ROOT_PASSWORD=123 -d mysql:8.0
注:此处刚创建好容器的
用户名: root
密码 :123
!!!此时如果直接去sqlyog(数据库可视化页面)连接会出现连接不上或者密码错误问题需要继续执行接下来的命令
第一步: 进入容器
docker exec -it mysql1 /bin/bash
第二步: 进入mysql
1: mysql -uroot -p 回车
2: 输入密码:123
3: use mysql
4: ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123';
5: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';
6: FLUSH PRIVILEGES;(注意456这三条命令一定要有分号 ; 注意看复制之后有没有分号如果没有回车不是执行命令是换行)
到这里之后修改完成 输入:exit 然后回车;就会一层一层退出到虚拟机目录
此时需要重启docker执行命令(一定是已经退回到虚拟机的目录下了)
执行:
systemctl restart docker
docker start mysql1
然后命令 docker ps 查看mysql1是否运行如果如下图一样就可以了
最后一定要注意要么关闭防火墙要么开放3306端口不然外部可视化工具是不能连接虚拟机的
关闭防火墙命令:
systemctl stop firewalld
或者开放3306端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
完成这些就可以在外部可视化页面进行连接了