CentOSにMysqlをインストール
yumでMysqlをインストール
1 |
[root@localhost ~]# yum -y install mysql-server |
MySQL設定ファイル編集
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
[root@localhost ~]# vi /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 #aracter-set = utf8<span>←コメントアウト</span>+ default-character-set=utf8<span>←追加</span> [mysql.server] user=mysql basedir=/var/lib [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid default-character-set=utf8<span>←追加</span> |
Mysqlを立ち上げてみる
1 2 3 |
[root@localhost ~]# /etc/rc.d/init.d/mysqld start Timeout error occurred trying to start MySQL Daemon. MySQL を起動中: [失敗] |
失敗したので原因をさぐるためログを確認
1 2 3 4 5 |
[root@localhost ~]# vi /var/log/mysqld.log InnoDB: Apply batch completed 080819 18:05:21 InnoDB: Started; log sequence number 0 43655 080819 18:05:21 <span>[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist</span> 080819 18:05:21 mysqld ended |
MySQL データを初期化し、システム テーブルを作成さしてみる
1 |
[root@localhost ~]# mysql_install_db |
もう一度起動してみる
1 2 3 |
[root@localhost ~]# /etc/rc.d/init.d/mysqld start Timeout error occurred trying to start MySQL Daemon. MySQL を起動中: [失敗] |
またまた失敗したのでログを確認
エラーが変わる。
1 2 3 4 |
[root@localhost ~]# vi /var/log/mysqld.log 080819 18:25:48 [ERROR] /usr/libexec/mysqld: Can't find file: './mysql/host.frm' (errno: 13) 080819 18:25:48 [ERROR] /usr/libexec/mysqld: Can't find file: './mysql/host.frm' (errno: 13) 080819 18:25:48 [ERROR] Fatal error: Can't open and lock privilege tables: Can't find file: './mysql/host.frm' (errno: 13) |
調べると”/var/lib/mysql”のアクセス権が正しくないらしい
ぼくはすべてがrootユーザの権限になっていた。
mysqlに権限を与える
1 |
[root@localhost ~]# chown -R mysql:mysql /var/lib/mysql |
見事に機動・・・時間かかった。
1 2 |
[root@localhost ~]# /etc/rc.d/init.d/mysqld start MySQL を起動中: [ OK ] |