docker安装mysql

2022-02-14  本文已影响0人  呦丶耍脾气

安装MySQL 5.* 版本

1、搜索镜像

docker search mysql

2、下载镜像

docker pull mysql:5.6

3、创建并启动MySQL容器

docker run -d --name mysql5.6 -p 3306:3306 -e MYSQL_ROOT_PASSWORD='你的mysql密码' mysql:5.6

4、访问测试 进入到容器内部

docker exec -it mysql5.6 bash

连接mysql数据库:

mysql -u root -p

输入数据库密码 即可完成。
5、授权其他机器登陆
5.1、授权主机访问:

MySQL>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的mysql密码' WITH GRANT OPTION;

5.2、刷新权限:

MySQL>FLUSH PRIVILEGES;

5.3、退出:

MySQL>EXIT;

mysql8.0

1、拉取

docker pull mysql  #默认请求最新的

2、启动

docker run -d --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=你的mysql密码 mysql

3、进入容器

docker exec -it mysql8 bash

4、登录mysql

mysql -u root -p
MySQL>GRANT ALL ON *.* TO 'root'@'%';

查看是否添加成功

MySQL>use mysql
MySQL>select host, user, authentication_string, plugin from user;

刷新权限

mysql> FLUSH PRIVILEGES;

此时使用navicat链接可能出现问题,如下

mysql8.0版更换了新的身份验证是(caching_sha2_password)之前身份验证是(mysql_native_password),Navicat,和SQLyog客户端软件其实是不支持新的身份验证,也就是说新的身份验证找不到(caching_sha2_password),既然知道了是这个问题,那么我们就把登录密码加密规则改回(mysql_native_password
步骤如下:

#登录MySQL,使用命令
mysql -u root -p 
#修改加密规则
mysql> ALTER USER 'root'@'%' IDENTIFIED BY '你的mysql密码' PASSWORD EXPIRE NEVER;
#更新用户密码
mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的mysql密码';
#刷新权限
mysql>FLUSH PRIVILEGES; 
#退出
mysql>exit;

完成

上一篇下一篇

猜你喜欢

热点阅读