MySQLの初期アカウント

MySQLをインストールして

# mysql
mysql> GRANT ALL ON *.* TO myaccount IDENTIFIED BY 'hoge';

とかやってアカウントを作ったあと,myaccountで入ろうとすると

$ mysql -u myaccount -phoge
ERROR 1045 (28000): Access denied for user 'myaccount'@'localhost' (using password: YES)

と言われて入れない.

これはMySQLの初期値で’’@’localhost’等がユーザとして登録されており,こっちが優先されてしまうため. 回避するためにはこれらのアカウントを消せばよい.

mysql> DROP USER ''@'localhost'