docker学习笔记(二)Docker 安装 MySQL

一、docker安装mysql

获取镜像
# docker pull mysql:5.7

运行容器:-d后台运行 -p端口映射 -v卷挂载 -e设置密码 --name容器名
# docker run 
--name mysql01 
-p 3308:3306 
-v /home/mysql/conf:/etc/mysql/conf.d 
-v /home/mysql/data:/var/lib/mysql  
-e MYSQL_ROOT_PASSWORD=123456 
-d mysql:5.7 

二、连接测试

                                                                           

三、添加root之外的其他远程登录用户

#进入容器
docker exec -it mysql bash

登录MYSQL
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

添加远程登录用户
CREATE USER 'taip'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'taip'@'%';

四、遇到的问题及解决

                                                                         

遇到此问题从以下几个角度思考:

1.查看用户是否有远程登录的权限

# docker exec -it mysql01 bash

# mysql -u root -p

use mysql;

select host,user from user;

                                                                                                   

用户root和taip都可远程登录

2.查看防火墙3306/tcp是否开放

3.安全组配置

       因为安装mysql时做了端口映射 -p 3308:3306,因此在服务器的控制台需要把3308端口添加到安全组,我在这里将端口范围设为了3306-3309,即此范围内的端口都开放。这一点比较容易忽视,像我原本认为只开3306就行,结果一直报上述错误。

猜你喜欢

转载自blog.csdn.net/qq_41694490/article/details/114132673
今日推荐