使用バージョン:CentOS 5.1, MySQL Ver 14.12 Distrib 5.0.22
注意事項:
・あっしが見舞われた災難(これを知識不足と言われればそれまでだが)は、あっしのネットワーク構成に
起因するのかも知れぬ(とあるプロバイダの固定IP1個割当サービス&DNSサーバはプロバイダ管理
&IPマスカレード)。または/etc/hosts等のネットワーク関連設定ファイルの指定の仕方やらの問題かも。
ただ、同じ災難に出くわしている御仁も少なくないと推察いたす。
・本ページでは、その災難の顛末についてのみ言及いたした。MySQLのインストール全般については、
今回、参考にさせていただいた以下のページやリファレンス等を参照されたし。
参考1
参考2
事変勃発 |
MySQLのインストールを終え、意気揚々と、まずは手動でサービスを起動してみた。 # service mysqld start MySQL データベースを初期化中: Installing all prepared tables Fill help tables To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h xxx.yyy.zzz password 'new-password' See the manual for more instructions. You can start the MySQL daemon with: cd /usr ; /usr/bin/mysqld_safe & You can test the MySQL daemon with the benchmarks in the 'sql-bench' directory: cd sql-bench ; perl run-all-tests Please report any problems with the /usr/bin/mysqlbug script! The latest information about MySQL is available on the web at http://www.mysql.com Support MySQL by buying support/licenses at http://shop.mysql.com [ OK ] MySQL を起動中: [ OK ] # ふむふむ、rootにパスワードを設定するのぢゃな・・・ # mysqladmin -u root password hogePassword ※1 # 特に問題なし。んでわ、もう一丁。 # mysqladmin -u root -h xxx.yyy.zzz password hogePassword mysqladmin: connect to server at 'xxx.yyy.zzz' failed error: 'Host 'xxx' is not allowed to connect to this MySQL server' # んがああ、なんぢゃこりゃ?参考1によると、どうもxxx.yyy.zzzを127.0.0.1として定義する必要があるらすい。/etc/hostsを変更! 127.0.0.1 localhost.localdomain localhost xxx.yyy.zzz 此度はどうぢゃ? # mysqladmin -u root -h xxx.yyy.zzz password hogePassword mysqladmin: connect to server at 'xxx.yyy.zzz' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)' まだ、駄目か・・・mysqladminは止めてdb接続して設定したほうがええのか? # mysql -u root -p Enter password: hogePassword Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 50 to server version: 5.0.22 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> ふむ。とりあえず、つながったようぢゃ。以下でユーザアカウントとパスワード設定状況をみてみる。 mysql> select user,host,password from mysql.user; +------+--------------+------------------+ | user | host | password | +------+--------------+------------------+ | root | localhost | **************** | | root | xxx.yyy.zzz | | | | xxx.yyy.zzz | | | | localhost | | +------+--------------+------------------+ 4 rows in set (0.01 sec) mysql> なるほど。※1のmysqladminコマンド成功したlocalhostのユーザにはパスワードが 設定されていて、xxx.yyy.zzzには設定されていない。以下の呪文を唱えて設定してみる mysql> set password for root@'xxx.yyy.zzz'=password('hogePassword'); Query OK, 0 rows affected (0.00 sec) mysql> select user,host,password from mysql.user; +------+--------------+------------------+ | user | host | password | +------+--------------+------------------+ | root | localhost | **************** | | root | xxx.yyy.zzz | **************** | | | xxx.yyy.zzz | | | | localhost | | +------+--------------+------------------+ 4 rows in set (0.00 sec) mysql> やれやれ、設定されたようぢゃて。 # mysql -u root -h 'xxx.yyy.zzz' -p Enter password:hogePassword Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 62 to server version: 5.0.22 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> \q Bye # ご注意: どうも、localhost用のrootとxxx.yyy.zzz用のrootには同一パスワードにせんといかんようぢゃ。 これが元々そういう仕様なのか、ここで紹介した災難に見舞われたケースのみでの現象なのかは不明。 まったくもって釈然としないが、このまま使ってみて、問題なければ、了とするか・・・ |