匿名ユーザはtest*データベースに対してしか、操作をできないが一応削除しておいた方がよい。
mysql> DELETE FROM mysql.user WHERE user='';
# mysqld_safe --user=mysql &
# mysqladmin shutdown
# mysql -u root mysql>パスワードが設定されている場合は、-pオプションをつけて実行してパスワードを入力すればよい。-pがないとパスワードは聞かれず問答無用でエラーとなる。
# mysql -u root -p Enter password: mysql>以下のように、-pの後にスペース開けずにパスワードを指定することもできるが、セキュリティ上あまり望ましくないので止めておいたほうが無難。(psコマンドでみたところパスワード部分はxxでマスクされ見えなくなっていた。ただし、シェルのヒストリには残るので危険。)
# mysql -u root -ppassword mysql>
# mysql -u root -p mysql mysql> select * from user;
mysql> select host,user from user; +-----------------------+-----------+ | host | user | +-----------------------+-----------+ | localhost | | | localhost | root | | localhost.localdomain | | | localhost.localdomain | root | +-----------------------+-----------+
mysql> SELECT CURRENT_USER();
mysql> GRANT ALL PRIVILEGES ON *.* TO manager@localhost
IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO manager@'%'
IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
%はワイルドカードで、Unixでいう'*'的なもの。上記の設定だと全てのホストを指す。'%.xxxx.com'のような指定もできる。+-----------------------+-----------+ | host | user | +-----------------------+-----------+ | % | manager | | localhost | | | localhost | root | | localhost.localdomain | | | localhost.localdomain | root | +-----------------------+-----------+接続時のアカウントのマッチングルールの詳細についてはここを参照。
mysql> REVOKE ALL,GRANT OPTION FROM manager@localhost; mysql> DROP USER manager@localhost;
# mysql -u root mysql
mysql> SET PASSWORD FOR <UserName>=PASSWORD('<Password>');
rootのパスワードを設定する場合は以下のようにする。デフォルトでは接続元のホスト毎にroot@localhost,root@localhost.localdomainのエントリがあるのでそれぞれに対してパスワードを設定する。
mysql> SET PASSWORD FOR root@localhost=PASSWORD('pass');
Query OK, 0 rows affected (0.00 sec)
mysql> SET PASSWORD FOR root@localhost.localdomain=PASSWORD('pass');
Query OK, 0 rows affected (0.00 sec)
mysql> select host,user,password from user;
+-----------------------+------+------------------+
| host | user | password |
+-----------------------+------+------------------+
| localhost | root | 29bad1457ee5e49e |
| localhost.localdomain | root | 29bad1457ee5e49e |
| localhost.localdomain | | |
| localhost | | |
+-----------------------+------+------------------+
4 rows in set (0.00 sec)
# mysqladmin -u <UserName> password <Password>
include ld.so.conf.d/*.conf
/usr/X11R6/lib
/usr/local/lib
/usr/local/lib/mysql <== 環境に合わせてパスを追加
# /sbin/ldconfig
# perl -MCPAN -e shell cpan> install DBI cpan> install DBD::mysql