虚拟机中docker安装mysql远程无法访问解决方法
#docker安装mysqldocker pull mysql
docker run --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql
这个时候navicat远程连接mysql的时候,会提示以下错误:
http://i2.运维网.com/images/blog/201811/20/8dbd19e15908f04612132793b00932bf.png
解决方法:
1、在虚拟机中登录到mysql容器,然后进入mysql
docker exec -it mysql /bin/bash
mysql -uroot -p
Enter password:
mysql> select host,user,plugin,authentication_string from mysql.user;
http://i2.运维网.com/images/blog/201811/20/271276337ffae089aa17f4b92ff8b3ff.png
备注:host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码
2、修改密码
mysql> use mysql;
mysql> alter user 'root'@'%' identified with mysql_native_password by '123';
mysql> flush privileges;
mysql> select host,user,plugin,authentication_string from mysql.user;
http://i2.运维网.com/images/blog/201811/20/907eddc3460aa8314592272ab8273d0d.png
出现上述图片,再次用navicat远程连接mysql就成功了
页:
[1]