MYSQLの設定
rootユーザはデフォルトではパスワードが設定されていないた
# mysql -u root ← MySQLサーバーへrootユーザでログイン
mysql> select user,host,password from mysql.user; ← 登録済ユーザ、パスワード確認
mysql> set password for root@localhost=password('rootパスワード'); ← ホスト名がlocalhostのrootユーザにパスワード設定
Query OK, 0 rows affected (0.00 sec)
mysql> set password for root@'centos.centossrv.com'=password('rootパスワード'); ← ホスト名が自ホストのrootユーザにパスワード設定
Query OK, 0 rows affected (0.00 sec)
mysql> set password for root@127.0.0.1=password('rootパスワード'); ← ホスト名が127.0.0.1のrootユーザにパスワード設定
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host,password from mysql.user; ← 登録済ユーザ、パスワード確認
mysql> exit ← MySQLサーバーからログアウト
[root@centos ~]# mysql -u root -h localhost
← ホスト名がlocalhostのrootユーザでパスワードなしでMySQLサーバーへログインできないことを確認
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@centos ~]# mysql -u root -h 'centos.*****.com'
← ホスト名が自ホストのrootユーザでパスワードなしでMySQLサーバーへログインできないことを確認
ERROR 1045 (28000): Access denied for user 'root'@'centos.*****.com' (using password: NO)
[root@centos ~]# mysql -u root -h 127.0.0.1
← ホスト名が127.0.0.1のrootユーザでパスワードなしでMySQLサーバーへログインできないことを確認
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@centos ~]# mysql -u root -h localhost -p ← MySQLへrootでログイン
Enter password: ← MySQLのrootパスワード応答
ホスト名がlocalhostのrootユーザでパスワードありでMySQLサーバーへログインできることを確認
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 18 to server version: 4.1.12
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> exit ← MySQLサーバーからログアウト
Bye
[root@centos ~]# mysql -u root -h 'centos.centossrv.com' -p
Enter password: ← MySQLのrootパスワード応答
ホスト名が自ホストのrootユーザでパスワードありでMySQLサーバーへログインできることを確認
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 19 to server version: 4.1.12
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> exit ← MySQLサーバーからログアウト
Bye
[root@centos ~]# mysql -u root -h 127.0.0.1 -p ← MySQLへrootでログイン
Enter password: ← MySQLのrootパスワード応答
ホスト名が127.0.0.1のrootユーザでパスワードありでMySQLサーバーへログインできることを確認
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 18 to server version: 4.1.12
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> exit ← MySQLサーバーからログアウト
Bye
※ホスト名を指定してログインできない場合の対処
ホスト名を指定してログインできない原因は、サーバーが自身のホスト名を名前解決(ホスト名→IPアドレス)できないことが原因。
サーバーが自身のホスト名を名前解決できるように、サーバーの/etc/hostsにホスト名とIPアドレスの対応を追加する。
[root@centos ~]# grep `hostname` /etc/hosts ← /etc/hostsにホスト名が定義してあるか確認
なにも表示されない=ホスト名が定義されていないことを確認
[root@centos ~]# echo 127.0.0.1 `hostname` >> /etc/hosts ← /etc/hostsにホスト名の定義を追加
[root@centos ~]# grep `hostname` /etc/hosts ← /etc/hostsにホスト名が定義してあるか確認
127.0.0.1 centos.centossrv.com ← ホスト名定義追加を確認