HomebrewからMacにmysqlをインストールしました
brew install mysql
mysql -V
mysql Ver 8.0.11 for osx10.13 on x86_64 (Homebrew)
端末から動作し、mysqlにログインできますが、Sequel Proからは
ホスト127.0.0.1に接続できないか、要求がタイムアウトしました。
アドレスが正しいこと、および必要な特権を持っていることを確認するか、接続タイムアウト(現在は10秒)を増やしてみてください。
MySQLによると:認証プラグイン 'caching_sha2_password'をロードできません:dlopen(/usr/local/lib/plugin/caching_sha2_password.so、2):image not found
私が行方不明になっているものを理解することはできません
これは、エラーが示すように、Sequel Proは新しい種類のユーザーログインの準備がまだ整っていないためです。ドライバーがありません。自作以外のインストールのクイックフィックス:
Apple Logo > System Preferences > MySQL > Initialize Database
、次に新しいパスワードを入力し、[レガシーパスワードを使用]を選択します
再起動後、接続できるはずです。そうしないと、dbテーブルが失われる可能性があるため、新規インストールでのみ実行してください。
基本的にいくつかのアクションを手動で実行する必要がありますが、上記のソリューションのようにデータベースデータは削除されません
[my.cnf] [1]ファイルに移動し、セクション[mysqld]
に行を追加します。
default-authentication-plugin=mysql_native_password
ターミナルからmysqlサーバーにログインします。mysql -u root -p
を実行し、シェル内で次のコマンドを実行します([password]を実際のパスワードに置き換えます):
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[password]';
exit
でmysqlシェルを終了し、brew services restart mysql
を実行します。
動作するはずです。
My.cnfファイルは、Unix/Linuxの/etc/my.cnfにあります
~/.my.conf
にエコーします。[mysqld]
default-authentication-plugin=mysql_native_password
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[PASSWORD]';
でrootユーザーのパスワードを設定します。[PASSWORD]
は選択したパスワードです。brew services restart mysql
TL; DR:2016年以降、Sequel Proは廃止されました。ツールのためにDBをダウングレードしないでください。別のツールに移ります。
ここにある他のすべてのソリューションは、使用しているツールのDB設定を変更することをお勧めします(MySQLによって宣伝されているように、安全性を低下させます)。それは私には受け入れられません。
私はいつもSequel Proの大ファンであり、寄付されました。しかし、私の情熱と愛を込めて、このツールにリリースがなければ申し訳ありません 2016年以降 。 YOLO、私は先に進む必要があります!
私が見つけた代替案( https://stackoverflow.com/a/55235533/2321594 、@ arcseldonのおかげ)は、 DBeaver であり、これはMySQL 8の新しい認証(非-レガシー)メソッド。
PS。 DB側ではなく、ツール側の唯一のトリックは、MySQL 8接続を作成するときに、「ドライバプロパティ」(後で[接続の編集]で見つけることができます)、allowPublicKeyRetrieval
の値をtrue
に変更します。
Dockerを使用して作成したMySQLコンテナーに接続するためにこれが必要でした。 (このツールだけでなく)エコシステム内の他のアプリケーションに対して、MySQLのIPを外部から見えるようにするには、MySQLで新しいユーザーを作成するか、ランタイムまたは-e MYSQL_ROOT_Host=%
を渡す必要がありますENV。
[email protected]経由でMySQLに接続する場合は、必ずパスワードもリセットしてください!
ALTER USER 'root'@'127.0.0.1' mysql_native_password BY '[password]'で識別されました;