使用SQLyog(navicat)远程连接docker容器中的mysql8.0.12 报以下错误↓↓↓
![](http://api.e-learn.cn/r.php?url=https://img-blog.csdn.net/20181011104410233?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2E2MTc5NzMwNTg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
解决办法:
一、在docker中启动mysql,定义端口号3306
[root@localhost ~]# docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
二、执行命令,输入密码
[root@localhost ~]# docker exec -it mysql01 bash
root@863b69d78d4f:/# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.12 MySQL Community Server - GPL
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
三、授权
mysql> GRANT ALL ON *.* TO 'root'@'%';
四、刷新权限
mysql> flush privileges;
五、更改加密规则
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
六、更新root用户密码(123456是我的密码,要替换成自己的)
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
七、刷新权限
mysql> flush privileges;
OK,可以了,再次使用 SQLyog(Navicat) 连接数据库。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)