私は通常、リモートアクセスを行うためにMySQLを正しくセットアップします。
そして現在、MySQL 8にこだわっています。
最初のことは、mysql.conf.d/mysqld.cnfにバインドアドレス行がないため、手動で追加しました(bind-address 0.0.0.0)そして、ユーザーにアクセスを許可しました「%」
接続すると、「認証に失敗しました」というメッセージが表示されました
しかし、localhost /コマンドラインではうまく機能します
作り方:
bind_address
ファイルからmy.ini
パラメーターを削除またはコメント化します。(ファイル名はOSによって異なります。Linuxでは、my.iniは実際にはディレクトリ/ etc/mysql /にあるmy.cnfです)
root
ユーザーを作成します(はい、新しいユーザーローカルアクセスのみである 'root @ localhost'が存在するため):
CREATE USER 'root'@'%' IDENTIFIED BY '123';
特権を付与します。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
[〜#〜] dba [〜#〜]ユーザーの場合、
WITH GRANT OPTION
を最後に追加します。
機能しないためGRANTで作成?
MySQL 8はGRANT
でユーザーを作成できなくなったため、使用しようとするとIDENTIFIED BY '123'
にエラーがあります最も一般的なエラーであるGRANT
を使用します。