Navicat接続MySQL 8.0エラー2059
3369 ワード
mysql8.0の2059-authentication plugin'caching_sha2_password'-navicat接続異常問題
質問説明:navicatリンクmysql 8以降のバージョンでは2059のエラーが発生します.このエラーは、
ソリューション: mysql 8.0以降の検証方式は、以前のバージョンで使用されていた検証方式 管理者としてcmdを実行mysqlのインストールディレクトリの下のbinフォルダ に入る. C:Program FilesMySQLMySQLMySQL Server 8.0binディレクトリの下にdataフォルダがない場合は、次のコマンドを実行します.
データベースコマンドラインにログイン 暗号化規則を修正して を実行する.ユーザのパスワード 権限をリフレッシュしてFLUSH PRIVILEGESを実行する. それからNavicat接続Mysqlを開けて、接続が成功したことを発見して、完璧に問題を解決します. 具体的な操作は以下の通りである: 一連の操作を経て最終的に問題を解決し、NavicatはMysqlに順調に接続した.
質問説明:navicatリンクmysql 8以降のバージョンでは2059のエラーが発生します.このエラーは、
mysql8
のバージョンでは暗号化ルールがmysql_native_password
であり、mysql8
の暗号化ルールがcaching_sha2_password
であるためです.ソリューション:
mysql_native_password
に変更される.mysqlに対応するインストールディレクトリの下にあるmy-default.ini
ファイルを見つけ、default_authentication_plugin=caching_sha2_password
をdefault_authentication_plugin=mysql_native_password
に変更します.以下は私のmy-default.ini
の内容です: [mysqld]
# 3306
port=3306
# mysql
basedir=C:\Program Files\MySQL\MySQL Server 8.0
# mysql
datadir=C:\Program Files\MySQL\MySQL Server 8.0\data
#
max_connections=200
# 。
max_connect_errors=10
# UTF8
character-set-server=utf8
#
default-storage-engine=INNODB
# “mysql_native_password”
default_authentication_plugin=mysql_native_password
[mysql]
# mysql
default-character-set=utf8
[client]
# mysql
port=3306
default-character-set=utf8
でcmdを実行(win 10右ボタン左下隅開始ボタン選択で管理者としてcmdを実行すればよい)C:\>cd C:\Program Files\MySQL\MySQL Server 8.0\bin
mysqld -install
と入力します(管理者IDなしで実行すると、権限が足りないためエラーが発生します:Install/Remove of the Service Denied!)mysqld --initialize
を実行すると、既存のdataフォルダが表示されます.mysql -u root -p
を実行し、データベースのパスワードを入力すると、Welcome to the MySQL monitorが表示されます.文字はログインに成功しました.ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxxx';
のうちxxxxは新しく設定されたパスワードである. C:\>cd C:\Program Files\MySQL\MySQL Server 8.0\bin
C:\Program Files\MySQL\MySQL Server 8.0\bin>mysql -u root -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.13 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> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.07 sec)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'abcd';
Query OK, 0 rows affected (0.06 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql>