1、问题描述
docker安装mysql8,记录下;
2、问题说明
2.1 查看下目前服务器镜像
docker images
2.1 拉取最新mysql,5.8版本
docker pull mysql
2.3 run,构建容器
命令:
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
2.4 navicat连接数据库
构建容器后,默认使用navicat是连接不上的,需要执行相关sql;
执行命令:
#进入容器
docker exec -it mysql bash
root登录:
mysql -u root -p;
输入密码:123456
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
新增非root用户(直接用root账户的话,就不用执行了):
CREATE USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'test';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%';
简要说明:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
两个作用:
(1)root'@'%'使用%远程才能访问, 'root'@'localhost' 的话,无法通过网络远程访问;
(2)WITH mysql_native_password作用是:使用MySQL客户端Navicat连接数据库MySQL8.0,MySQL8.0 之前的版本中加密规则是mysql_native_password,而MySQL8.0,加密规则是caching_sha2_password;
连接成功
更多信息请关注公众号:「软件老王」,关注不迷路,软件老王和他的IT朋友们,分享一些他们的技术见解和生活故事。
标签:mysql8,安装,MySQL8.0,mysql,docker,password,root,native From: https://www.cnblogs.com/ruanjianlaowang/p/16880410.html