MySQLめー

XOOPSのテストをする必要がありそうだったので、
インストールを試みたら、MySQLでつまずいた。

rootは接続できるけど、追加したユーザでパスワードが通らない。くー。
いくつかのサイトを見ながら、複数の環境で試したけど、改善されず。
で、ようやく、次の記述を発見。


「GRANT ステートメントを monty@localhost と monty@"%" の両方に
対して発行することが必要である。localhost のエントリを追加しないと、
ローカルホストから接続したとき、mysql_install_db によって作成された
localhostのエントリの方が、Host フィールド値がより具体的であり、
user テーブルのソート順序で上位になるため優先されることになる。」


で、答えは↓

mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@'%'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

無事接続できました。


参照
http://dev.mysql.com/doc/refman/4.1/ja/adding-users.html


ついでに、MySQLコマンド例
Shell> mysql -u root -p
mysql> status
mysql> select user();
mysql> show databases;
mysql> use mysql;
mysql> show tables;
mysql> select host,user,password from user;
mysql> delete from user where user='monty';
mysql> create database mydb;
mysql> drop database mydb;
mysql> create table mytable(
-> val VARCHAR(100) NOT NULL);
mysql> drop table mytable;
mysql> help