MySQL ユーザー + データベース + いくつかのテーブルをセットアップするインストール スクリプトがあります。mysql 5.0 では問題なく動作しましたが、最近、mysql 5.5 に同梱されている Ubuntu 12.04 にアップグレードしました。ただし、mysql 5.5 ではエラーが発生します。
問題はユーザーの追加に関連しているようです。次のような行を使用して root ユーザーを作成します。これは、後でログインして残りのものをセットアップするために使用されます。
INSERT INTO mysql.user VALUES('%','myrootuser','','Y','Y','Y','Y','Y','Y','Y',
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',
'Y','Y','','','','',0,0,0,0,'','');
flush privileges;
コマンドは成功します。ただし、この新しい「myrootuser」でログインすると、ユーザーは十分な権限を持っていないようです:
jeroen@jeroen-ubuntu:~$ mysql -u myrootuser -e 'select * from mysql.user;'
ERROR 1142 (42000) at line 1: SELECT command denied to user ''@'localhost' for table 'user'
また、実際の問題を難読化している可能性がある、存在しないユーザー名でログインできることにも気付きました。
ubuntu@myserver:~$ mysql -u thisuserdoesnotexist
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 40
Server version: 5.5.22-0ubuntu1 (Ubuntu)
mysql>
5.5 の MySQL 認証に、私が気付いていない変更がありましたか?