标签:name 2059 Mysql 连接 mysql 3306 Docker root docker
接着我上一篇的,在我们安装好docker后我们尝试在docker里面安装mysql并连接使用
正式开始
1、启动docker
2、打开Windows PowerShell(执行下载命令)
`docker pull mysql:latest`
latest:下载官方最新版本,也可以替换成自己 想要的版本
示例:
`docker pull mysql:5.7`
执行命令后我们打开docker可以看到多了一个mysql容器
接下来我们一起配置mysql
启用mysql实例
`docker run --name mingxie-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 -d mysql:latest`
--name 后面的是docker容器名 -p 3306:3306 这里需要注意 `:前面的是` 你连接mysql的时候的`Port`。 -e MYSQL_ROOT_PASSWORD 是设置mysql的root账号密码 -d mysql 是你的镜像标签 docker ps 查看正在运行镜像 docker ps -a 查看所有已下载镜像 如果能看到自己的实例表示已经成功了
那我们尝试用Navicat来连接
我们可以看到是连接失败的那是因为mysql8以上密码加密规则变了,需要修改加密规则
解决方法:
1:查看当前mysql容器id或名称 docker ps
2:进入该容器中 docker exec -it xxxx(id或name) /bin/bash
-i:即使没有连接,也要保持标准输入保持打开状态,一般与 -t 连用。
-t:分配一个伪tty,一般与 -i 连用。
tty:各种类型的终端设备.
3:进入mysql mysql -uroot -p
4:授权 GRANT ALL ON *.* TO 'root'@'%';
5:刷新权限 flush privileges;
6:更改加密规则 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
7:更新root用户密码:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
8:刷新权限 flush privileges;
连接成功啦,好的有不懂的,或错误地方欢迎大家评论指出来。
标签:name,2059,Mysql,连接,mysql,3306,Docker,root,docker 来源: https://www.cnblogs.com/xiutao-0717/p/docker_mysql_2059.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。