概述
linux系统 docker安装mysql 8.0**及1251错误
一、安装步骤
- docker拉取mysql8.0镜像
docker pull mysql:8.0
- docker 运行mysql容器
.docker run --name #名称# -e MYSQL_ROOT_PASSWORD='#root用户密码# -p 3306:3306 -d mysql
–name 后面的是docker容器名
-p 32xxx:3306 这里需要注意32xxx
是你链接mysql的时候的Port
。
-e MYSQL_ROOT_PASSWORD 是设置mysql的root账号密码
-d mysql 是你的镜像标签 - 查看容器是否启动
docker ps
docker ps
**
安装mysql8.0 出现的问题
**
用本机或者linux系统的navicat连接mysql数据库 会出现 1251报错:
1251-Client does not support authentication protocol requested by server;
原因 : mysql8.0默认采用了信息的密码加密方式,我们需要修改加密方式并同时修改密码(以另一种方式加密)
1.进入mysql容器内部 如图:
docker ps 查看容易ID
docker exec -it e44f8d77f1ad bin/bash 进入容器内部
mysql -u root -p 登入mysql
2.查看mysql用户信息
select host,user,plugin from mysql.user
其中 host 中:‘%’ 代表其他访问数据库的ip不限制
‘localhost’ 本地访问数据的ip
1.如果是宿主机(电脑ip) 或者其他的ip访问数据则要修改 host=‘%’的用户户数
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
2.如果是linux本身连接数据库 则要修改 host=‘localhost’的用户户数
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
最后
FLUSH PRIVILEGES; #刷新权限
再次查看用户的信息 会发现 plugin的方式变了
然后用navicat连接测试,如果期间操作有误 可以先删除mysql容易 重新运行容易
感谢浏览!
最后
以上就是贤惠鸵鸟为你收集整理的linux系统 docker安装mysql 8.0**及 mysql 1251错误的全部内容,希望文章能够帮你解决linux系统 docker安装mysql 8.0**及 mysql 1251错误所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复