【gatewayってなにさ】VirtualBox X Laravel X MySQLで SQLSTATE[HY000] [1130] gateway is not allowed connect to this mysql server

 

 環境

  • VirtualBox 6.1
  • MySQL 5.7.26
  • Laravel

他の人が作成した環境をVirtualBoxのovaファイルを自分のVirtualBoxに取り込む。その中にMySQLが入っている。

  エラー

エラー文
SQLSTATE[HY000] [1130] gateway is not allowed connect to this mysql server

  対処

まずVirtualBoxで取り込んだ環境を実行し、MySQLへ接続

mysql -u root -p

MySQLのuserテーブルでどのユーザーにどんな権限があるか確認

SELECT user,host,plugin FROM mysql.user;
このコマンドでrootにはlocalhostが許されていることが確認できる。
しかしgatewayからの接続が許されていないので権限を与えてあげる。
GRANT ALL PRIVILEGES ON *.* TO root@gateway IDENTIFIED BY 'Cube001!' WITH GRANT OPTION;
もう一度MySQLのuserテーブルを確認してrootにgatewayが許可されているか確認する
SELECT user,host,plugin FROM mysql.user;

 

rootにgatewayが使用可能となったのでこれで、Laravelで表示できるようになりました(*’ω’*)

 

 

MEMO
pluginのmysql_native_passwordについて
MySQL5.7以降ではパスワードの認証方法が変更になり、基本的にはSHA256認証プラグインが採用されている。
SHA256が採用されている場合は、上記テーブルのplugin部分がsha256_passwordとなっている。
sha256_passwordとはSHA256ハッシュというパスワード保護の一種の方法で、今までのnative_passwordよりもハッシュの強度が増したものである。

 

これがnative_passwordでなく、sha256_passwordとなっているがために出ているエラーもあるようなので、その場合はnative_passwordに変更する必要があるそうです(‘◇’)ゞ

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です