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;