sql >> データベース >  >> RDS >> Mysql

認証プロトコルが拒否されたため、MySQLODBCリンクが失敗する

    ここでの問題は、2つの同時発生によるものでした。

    1. リモートサーバーでは、グローバル設定OLD_PASSWORDSが1に設定されていました。これは、4.1より前の方法でパスワードがハッシュされていたことを意味します。
    2. ルートアカウントは、グローバル設定(おそらくこのパラメーターが設定される前に入力された)にもかかわらず、新しいハッシュ方式でエンコードされていました。つまり、新しいハッシュが正常に認識されたため、ODBC接続を介したアクセスが許可されていました。

    グローバル設定により、MySQLのPASSWORD()関数は、想定されていた新しいメソッドではなく、古いメソッドに入力された値をハッシュしました。

    私が使用した解決策として、DBAが正当な理由でOLD_PASSWORDSを1に設定したと想定しました

    グローバル設定OLD_PASSWORDS=1により、OLD_PASSWORD()関数と同じハッシュが使用されるため、password()関数の使用は以前は機能しませんでした。セッション設定により、正しいパスワードを生成できました。



    1. MySQLの日付形式DD/MM / YYYYクエリを選択しますか?

    2. ExcelデータをMySQLデータベースにインポートする方法を学ぶ

    3. C#コードからSQL Serverストアドプロシージャにステップインするにはどうすればよいですか?

    4. varcharフィールドが広いと、MySQLリンクサーバーでopenqueryを使用すると、要求された変換がサポートされないというエラーが発生します