MariaDBをv10.2.35またはv10.3.26に更新した後、cPanelにMySQLサーバーが現在オフラインになっていることが表示される場合があります。また、cPanelからデータベースを作成することはできません。
問題:
既存のMariaDBをv10.2.35またはv10.3.26に更新すると、cPanelがアクセスを正しく読み取ることができなくなります。これにより、Webサイトにアクセスできなくなり、データベースを作成できなくなります。 、cPanelインターフェース内のMySQLデータベースページで以下のエラーが見つかります。
[2020-11-05 10:17:55 +0000] warn [cpmysql] Error (Invalid grant string: SET DEFAULT ROLE 0 FOR '$user'@'$host' ) while parsing grant: SET DEFAULT ROLE 0 FOR '$user'@'$host' at /usr/local/cpanel/Cpanel/Mysql.pm line 956, line 1.
Cpanel::Mysql::__ANON__(__CPANEL_HIDDEN__...) called at /usr/local/cpanel/3rdparty/perl/530/lib/perl5/cpanel_lib/Try/Tiny.pm line 118
修正:
- ここでは、MySQLデータベースの列の順序を変更します。これらの変更を行うには、次の手順を参照してください。
- MySQLデータベースのバックアップを取ります。このコマンドを実行するには、rootユーザーとしてログインしていることを確認してください。
mysqldump mysql > /home/backup/mysql.sql
- その後、以下のコマンドを実行してデータベースの列の順序を変更します。これにより、データベースが適切に変更されます。
mysql -e "ALTER TABLE mysql.user MODIFY IF EXISTS password_last_changed timestamp DEFAULT CURRENT_TIMESTAMP NULL AFTER max_statement_time, MODIFY IF EXISTS password_lifetime smallint unsigned DEFAULT NULL AFTER password_last_changed, MODIFY IF EXISTS account_locked enum('N', 'Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL after password_lifetime;"
- MariaDBサービスを再起動します。
#systemctl restart mariadb
これらの変更はすぐに有効になります。