新サーバーに移行中にエラーが出た
Fatal error: Uncaught mysqli_sql_exception: Host 'xxxx.vs.sakura.ne.jp' is not allowed to connect to this MySQL server in /var/www/libs/xxx.php:606
外部のmysqlサーバーにアクセスできないようだ
現在のroot
ユーザーの許可されているホストを確認
SELECT Host, User FROM mysql.user WHERE User = 'root';
接続先のmysqlサーバーにアクセスの許可を与える
GRANT ALL PRIVILEGES ON *.* TO 'root'@'123.123.123.123';
FLUSH PRIVILEGES;
これだとおそらくmysqlデータベースのuserテーブルにはパスワードなしで登録されて、既存のパスワードを使用してmysqlサーバーに接続してパスワードエラーで接続できない
上記でなく多分こっちが正解↓
GRANT ALL PRIVILEGES ON *.* TO 'root'@'123.123.123.123' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
エラーが変わった
Uncaught Error: Syntax error, unrecognized expression: .
Fatal error: Uncaught mysqli_sql_exception: Access denied for user 'root'@'osxxxx.vs.sakura.ne.jp' (using password: YES) in /var/www/libs/xxxxx.php:606
パスワードもあってるはずなのに特定のサーバーからはログインできない。
mysqlデータベースのuserテーブルを確認して与えた権限が登録できているか確認
赤枠の部分にパスワードが設定されていない
同じパスワードなので上からカラムからコピーしてmysqlをリフレッシュ
FLUSH PRIVILEGES;
アクセスできるようになった