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

リモートmySQL接続スローは、XAMPPからの古い安全でない認証エラーを使用してMySQL4.1以降に接続できません

    サーバーのローカルボックスでもPHP5.3.xを実行していて、そこでこれらの問題が発生していなかったため、XAMPPのインストールでこれが問題になった理由はよくわかりません。ただし、これは「古いパスワード」暗号化モードで実行されているmySQLサーバーと関係があります。新しいバージョンのPHPはこれらの種類の接続を許可しないため、新しいパスワード暗号化を使用するようにmySQLサーバーを更新する必要があります。 mySQLサーバーを制御できると仮定した場合の手順は次のとおりです。そうしないと、それは私の知識の範囲外になります。

    1. my.cnfというmysqlサーバーの構成ファイルを見つけます 。私は/etc/my.cnfで私のものを見つけました 。 sudo nano /etc/my.cnfで編集できます

    2. old_passwords=1という行を探します それをold_passwords=0に変更します 。これで、次回実行時にPASSWORD()コマンドを使用してパスワードを暗号化するように求められたときに、16文字の「古い」スタイルの暗号化ではなく新しい41文字の暗号化を使用することをサーバーに通知しました。

    3. 次に、mysqlサーバー/サービスを再起動する必要があります。 YMMVですが、Fedoraではsudo service mysqld restartで簡単に実行できました 。 mysqlデーモンまたはサービスを再起動するためのOSの指示を確認してください

    4. 次に、実際にuserを編集する必要があります mysql内のテーブル。したがって、mysqlへのインタラクティブシェルを開きます(サーバーでは、mysql -uYourRootUsername -pYourRootPasswordと入力できます。 )

    5. mysqlに変更します データベース。これは、サーバーの操作と認証に役立つすべてのものを保持するデータベースです。このデータベースを操作するには、rootアクセス権が必要です。 「アクセスが拒否されました」と表示された場合は、SOLです。ごめん。 use mysql; そのデータベースに切り替わります

    6. 今、私たちはあなたに悲しみを与えていたユーザーを更新したいと思います。最終的には、すべてのユーザーを更新することをお勧めしますが、現時点では、エラーをスローしたユーザーに焦点を当てています。 update user set Password=password('YOUR_PASSWORD') where User='YOUR_USERNAME';

    7. ここで、そのユーザーが接続しようとしたときに認証に新しいパスワードを使用するようにmysqlに指示する必要があります。 flush privileges;

    行ってもいいはずです!




    1. パート1:MariaDBサーバーとTensorFlowを使用した画像分類–概要

    2. SQLAlchemy宣言型:トリガーとインデックスの定義(Postgres 9)

    3. ユーザー@'localhost'のデータベース''へのアクセスが拒否されました

    4. SQL:使用可能なすべてのテーブルからすべてのデータを削除します