MySQLはNavicatはを接続することはできませんMAC醸造を使用してインストール

著作権:MZ21G https://blog.csdn.net/qq_35793285/article/details/91128018

Navicatはエラーメッセージ:

2059 - 'caching_sha2_password' をプラグイン認証をロードできませんのdlopen(../フレームワーク/ caching_sha2_password.so、2):イメージが見つかりません

理由:caching_sha2_password []、クライアントがサポートしていないパスワードの暗号化方式。

 

ソリューション:

MySQLでログイン

mysql -u root -p

MySQLデータベースを使用します

use mysql

ビューのユーザーの暗号化

select user, host, plugin, authentication_string from user;

rootパスワードの暗号化を見て、その後、caching_sha2_password場合、クライアントはcaching_sha2_passwordプラグを見つけることができないので、Navicatは接続できません。

あなたは、次のコマンドを使用することができます。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 

このコマンドを使用する場合は、間違っている可能性があります:

ERROR 1819(HY000)は:あなたのパスワードは、現在のポリシーを満たしていないrequiremen

その理由は、より厳しい設定関連するパラメータ、MySQL5.6.6バージョンの後にパスワード認証プラグインvalidate_passwordの強度を高めることです。あなたがセットに会うことを拒否した場合、現在の設定の強度のルールの遵守の設定をチェックします。このプラグインのパスワードを使用してください。
 

ソリューション:

1.グローバルパラメータ設定のmysqlをチェック

SHOW VARIABLES LIKE 'validate_password%';

2.パラメータ説明

validate_password_dictionary_fileの
プラグインは、パスワード辞書ファイルパスの強度を確認するために使用されます。

validate_password_length
密码最小长度,参数默认为8,它有最小值的限制,最小值为:validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

validate_password_mixed_case_count
密码至少要包含的小写字母个数和大写字母个数。

validate_password_number_count
密码至少要包含的数字个数。

validate_password_policy
密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG。有以下取值:
Policy                 Tests Performed                                                                                                        
0 or LOW               Length                                                                                                                      
1 or MEDIUM         Length; numeric, lowercase/uppercase, and special characters                             
2 or STRONG        Length; numeric, lowercase/uppercase, and special characters; dictionary file      
默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。

validate_password_special_char_count
密码至少要包含的特殊字符数。

mysql> set global validate_password.mixed_case_count=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password.number_count=0;
Query OK, 0 rows affected (0.03 sec)

mysql> set global validate_password.length=4;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password.policy=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password.special_char_count=0;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

然后再试:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY "root";

 

OK

 

 

参考链接:https://binary-space.iteye.com/blog/2412769

参考链接:https://blog.csdn.net/u014236541/article/details/78244601

おすすめ

転載: blog.csdn.net/qq_35793285/article/details/91128018