1. 程式人生 > >SQLyog(navica)連線docker容器中的mysql8.0.12 報錯1251或2003解決辦法

SQLyog(navica)連線docker容器中的mysql8.0.12 報錯1251或2003解決辦法

使用SQLyog(navicat)遠端連線docker容器中的mysql8.0.12  報以下錯誤↓↓↓

解決辦法:

一、在docker中啟動mysql,定義埠號3306

[[email protected] ~]# docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

二、執行命令,輸入密碼

[[email protected] ~]# docker exec -it mysql01 bash

[email protected]:/# 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) 連線資料庫。