MySQLのユーザ登録ができなくなって困った
WordPressのテスト環境用にユーザのアクセス権を、phpMyAdminで修正しようとしたら、エラーになってできませんでした。次のエラーが出てました。
#1133 - Can't find any matching row in the user table
やろうとしたのは、他のホストからアクセスできるように、アクセス権を設定することでした。仕方がないので、新規にユーザを作ることにしました。でも、やっぱりできません。この#1133のエラーメッセージで検索したのですが、解決に結びつくページは見つけられませんでした。
新規ユーザの登録をしようとした時に、#1133のエラーも出ているのですが、次のエラーも出ていました。
ERROR 1054 (42S22): Unknown column 'plugin' in 'mysql.user'
このキーワードで検索したら、次のウェブページを見つけました。ありがとうございます。
ユーザ登録できなくなった原因は、MySQLのバージョンを、5.1から5.6に上げたためだそうです。このページに記載されている通り、MySQLのデータベースを調べてみたら、確かに5.1でした。
mysql> SELECT COUNT(1) column_count FROM information_schema.columns WHERE table_schema='mysql' AND table_name='user'; +--------------+ | column_count | +--------------+ | 39 | +--------------+ 1 row in set (0.00 sec)
39の場合は、MySQL5.1だそうです。
解決方法は、次の通りです。
# mysql_upgrade -u root -p Enter password: Looking for 'mysql' as: mysql Looking for 'mysqlcheck' as: mysqlcheck Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/tmp/mysql.sock' Warning: Using a password on the command line interface can be insecure. Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/tmp/mysql.sock' Warning: Using a password on the command line interface can be insecure. mysql.columns_priv OK : OK
確認してみました。
mysql> SELECT COUNT(1) column_count FROM information_schema.columns WHERE table_schema='mysql' AND table_name='user'; +--------------+ | column_count | +--------------+ | 43 | +--------------+ 1 row in set (0.00 sec)
43の場合は、MySQL5.6だそうです。この状態で、新規ユーザ作成ができるようになりました。良かったです。
[amazonjs asin="4883378012" locale="JP"]
ディスカッション
コメント一覧
まだ、コメントがありません