9

5.0 バージョンにあるすべてのデータベース ダンプを 5.6 バージョンに復元しようとすると、復元され、その後再接続しようとすると、次のエラーが発生します。

ERROR 2049 (HY000): Connection using old (pre-4.1.1) authentication protocol ref used (client option 'secure_auth' enabled)..

My.ini に次の行を追加してサービスを再起動しようとしましたが、問題は解決しません。

skip-grant-tables

次のリンクは、MYSQL のバグであると述べています。

https://github.com/santisaez/powerstack/blob/master/packages/mysql/mysql-powerstack-secure_auth.patch

このソリューションの修正はありますか?

4

8 に答える 8

25

[サーバー接続の管理] ダイアログ ボックスで、MySQLWorkBench 6.0 に対して次の回避策を使用します。

接続設定ダイアログの [詳細オプション] ボックスに useLegacyAuth=1 を追加します。

于 2013-08-31T14:35:09.187 に答える
12

コマンドラインで、選択肢がない場合は、次のようなものを使用してください...

mysql -uTheUseerNAme -pThePassword DbName -h HostName --skip-secure-auth

これはLinuxボックスから接続する私の問題だったので、これが誰かに役立つことを願っています

于 2014-08-01T02:29:57.850 に答える
2

MySQL Workbench 6.0.7 で修正されました。変更ログ エントリは次のとおりです。

オプションでレガシー システムに接続するために、secure_auth (useLegacyAuth) オプションを無効にするための新しいオプションが接続設定の [詳細設定] タブに追加されました。

ここに画像の説明を入力

于 2014-03-28T04:52:46.970 に答える
1

Centos 7 と MySQL で同じ問題が発生しました。mysql クライアントで接続しようとすると:

エラー 2049 (HY000): 古い (4.1.1 より前の) 認証プロトコルを使用した接続が拒否されました (クライアント オプション 'secure_auth' が有効)

私の場合、指定した場合:

--skip-secure-auth

エラーメッセージが表示されます:

エラー 1275 (HY000): サーバーは --secure-auth モードで実行されていますが、'root'@'localhost' のパスワードは古い形式です。パスワードを新しい形式に変更してください

指定した場合にのみ機能します:

/etc/my.cnf で

[mysqld]
...
secure_auth=false

そしてmysqldを再起動します

于 2014-09-29T12:20:30.640 に答える
0

同様の問題がありましたが、MAC ターミナルを使用してリモート MySQL db に接続しました。

解決策: 特殊文字の少ない新しいユーザーを作成すると、その問題はなくなりました。

于 2015-12-17T16:32:40.923 に答える