欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Centos里Docker安装Mysql5.7

程序员文章站 2022-04-14 10:40:43
...

1.搜索镜像

docker search mysql

Centos里Docker安装Mysql5.7

2.拉取镜像

docker pull mysql
# 如果不加版本号,默认拉取最新版本的mysql

docker pull mysql:5.7
# 此指令为拉取mysql5.7

 

3.启动安装mysql

sudo docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7

-p 3306:3306:将容器的3306端口映射到主机的3306端口;
​
-e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码;
​
--name 给容器命名,mysql;
​
-d 表示容器在后台运行
​
注意事项:-d 后面是mysql镜像,一定要指定镜像版本号,也就是拉取的镜像版本
​

4.如果还是不能连接,是局域网的问题,可以直接进入实例操作

grant all privileges on *.* to aaa@qq.com"%" identified by "123456" with grant option;

5.进入容器

docker exec -it mysql bash
# 进入容器

6.登录mysql

mysql -uroot -p

 

7.连接宿主机(此步骤是为了在win10使用navicat连接docker的mysql)

输入ifconfig,查看ip

Centos里Docker安装Mysql5.7

ens33对应的就是本机ip:

Centos里Docker安装Mysql5.7

接下来使用navicat连接就可以,端口:3306,用户名:root 密码:123456

Centos里Docker安装Mysql5.7

到此就完成了。

来点注意:我一开始安装的是最新版的mysql8.0,一直配置不对,然后我就改成了mysql5.7

 

####docker 中安装的最新的 mysql 版本是 8.0 版本 

navicat无法远程连接的问题

MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。因此我们需要修改 MySQL 用户登录的加密规则修改为mysql_native_password

1.修改加密规则

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;


2.修改密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';


3.开启远程访问权限

 

GRANT ALL ON *.* TO 'root'@'%';


4.刷新权限

flush privileges;


5.有必要时关闭 linux 防火墙

systemctl stop firewalld

祝大家顺利安装mysql。