phpMyAdminの設定 ~MySQLにはまるの巻

電脳備忘録
新規に構築したサーバにphpMyAdminをインストールしたときの覚書。何回かやったことはあるのですが、今回いろいろつまずきました...。php、MySQLともに現時点で多分最新であろうパッケージをインストール

環境

CentOS6

準備

あらかじめremi,epelの各リポジトリが利用できるようにしておくこと
phpMyAdminをダウンロード、解凍後任意の場所にアップロードしておくこと

MySQLのインストール

# yum --enablerepo=remi,epel install mysql-server

PHPと関連パッケージをインストール

# yum --enablerepo=remi,epel install php
# yum --enablerepo=remi,epel install php-mysql
# yum --enablerepo=remi,epel install php-mbstring
# yum --enablerepo=remi,epel install php-mcrypt

MySQLの文字コード設定

気をつけないといけないのはMySQL5.5.xから文字コードの設定が変わっているということです。 それ以前はdefault-character-set=utf8で設定できていたかと思いますが、MySQL5.5.xではエラーを吐きます。
111119 11:31:03 [ERROR] /usr/libexec/mysqld: unknown variable 'default-character-set-server=utf8'
character-set-server = utf8 と修正すればいいみたい。
#vi /etc/my.cnf
character-set-server = utf8
[mysql]
default-character-set = utf8
MySQL起動
# /etc/rc.d/init.d/mysqld start
MySQL Daemon failed to start.
mysqld を起動中:                                           [失敗]
起動せず... ログの確認
#tail -f /var/log/mysqld.log
111119 11:14:41 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
111119 11:14:41 [Note] Plugin 'FEDERATED' is disabled.
/usr/libexec/mysqld: Table 'mysql.plugin' doesn't exist
111119 11:14:41 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
111119 11:14:41 InnoDB: The InnoDB memory heap is disabled
111119 11:14:41 InnoDB: Mutexes and rw_locks use GCC atomic builtins
111119 11:14:41 InnoDB: Compressed tables use zlib 1.2.3
111119 11:14:41 InnoDB: Using Linux native AIO
111119 11:14:41 InnoDB: Initializing buffer pool, size = 128.0M
111119 11:14:41 InnoDB: Completed initialization of buffer pool
111119 11:14:41 InnoDB: highest supported file format is Barracuda.
111119 11:14:42  InnoDB: Waiting for the background threads to start
111119 11:14:43 InnoDB: 1.1.8 started; log sequence number 1595675
111119 11:14:43 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
111119 11:14:43 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
MySQL データを初期化し、システム テーブルを作成
# mysql_install_db
権限がrootになっていたのでmysqlに権限を与える
chown -R mysql:mysql /var/lib/mysql

MySQLの起動

起動してみる
# /etc/rc.d/init.d/mysqld start
mysqld を停止中:                                           [  OK  ]
mysqld を起動中:                                           [  OK  ]
今度は成功。

phpMyAdminにアクセスしたところ無事表示されましたよと...とりあえず確認はここまで。

広告

ブログの維持費に充てるでございます・・・。