Docker 下安装mysql

2019-05-07  本文已影响0人  你笑时很美丶

1.查看docker仓库中mysql的最新版 https://hub.docker.com/_/mysql

版本
#docker search 
docker search mysql
图2

2.下载镜像(因为我已经安装了就不贴图了)

#docker pull 下载命令
docker pull mysql:8.0.16

3.查看是否下载成功

docker images |grep mysql
图3

4.创建目录mysql,用于存放后面的相关东西

#这里路径自行修改
mkdir -p /project/docker/mysql/logs /project/docker/mysql/conf /project/docker/mysql/data

5.启动mysql镜像

docker run -p 3306:3306 --restart=always -v /project/docker/mysql/conf:/etc/mysql/conf.d -v /project/docker/mysql/logs:/var/log/mysql -v /project/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql -d mysql:8.0.16

6.查看镜像是否启动成功

docker ps
#进入mysql镜像
docker exec -it mysql bash
#进入mysql
mysql -uroot -p123456
#停止镜像 name/id
docker stop id
#启动镜像 name/id
docker start name/id
图6
#检查防火墙端口
netstat -apn|grep 3306
#若3306被占用请删除镜像重新run一个端口
#开启3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#在不改变状态的条件下重新加载防火墙
firewall-cmd --reload
update mysql.user set host = '%' where user = 'root';
#GRANT ALL ON *.* TO 'root'@'%';
#若仍然不行
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root123456';
#刷新权限
flush privileges;

#'root'@'%' 中的root为用户名,'%'为user表host字段的值,'root123456'为用户密码

上一篇下一篇

猜你喜欢

热点阅读