MySQLとphpMyAdmin(初心者がさくらのVPSを立ち上げるまで - その7)
MySQLのインストール
MySQLのインストールも、基本的に参考サイト通りに行えばトラブルはない。
#16 MySQLの設定をしよう | さくらのVPS入門 - プログラミングならドットインストール
MySQLの設定 | 初心者でもわかる!さくらVPS | Sakura VPS 設定マニュアル
ただ、あとからMovableType(Open Source 5.2x)をインストールしようとすると、デフォルトのままの設定ではインストールが上手くいかないので、このタイミングで設定をしてしまう。
また、レポジトリも最初に追加したレポジトリを参照して最新のバージョンのものをインストールしてみる。
インストール
最新のバージョンは、remi にあるのだが、折角追加してあるのでforgeの方もオプションに加えて最新版を調べさせインストールしてみる。
yum -y install --enablerepo=remi,rpmforge mysql-server
設定ファイルの編集
設定ファイルをバックアップし、編集する。
cp /etc/my.cnf /etc/my.cnf.org vim /etc/my.cnf
細かい設定は使用目的などに合わせて調整するとよいが、文字コードで4バイト文字が使えるようにすることと長いプレフィクスを使えるように、参考サイトの情報に加えて以下の項目を設定しておくと良い。*1
[mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_general_ci innodb_large_prefix [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4
上記とDatabaseのチューニングも含めて、今回は以下のように設定してみた。
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 user=mysql character-set-server=utf8mb4 skip-character-set-client-handshake max_connections=150 thread_cache_size=50 query_cache_size=32M default-storage-engine=innodb collation-server=utf8mb4_general_ci ;InnoDB innodb_file_per_table=1 innodb_buffer_pool_size=1000M innodb_additional_mem_pool_size=20M innodb_log_file_size=250M innodb_log_buffer_size=8M innodb_flush_log_at_trx_commit=1 innodb_lock_wait_timeout=50 innodb_large_prefix ;MyISAM key_buffer=512M table_open_cache=512 # thread parameter sort_buffer_size=2M read_buffer_size=256K join_buffer_size=256K read_rnd_buffer_size=1M max_allowed_packet=2M ;MyISAM myisam_sort_buffer_size=8M [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4
続いて、対話型のセキュリティ設定と起動および自動起動の設定は、参考2サイトの通りに行う。
mysql_secure_installation /etc/rc.d/init.d/mysqld start chkconfig mysqld on
phpMyAdminのインストール
yumを使ってインストール
yum -y install --enablerepo=remi,rpmforge phpMyAdmin
設定ファイルのバックアップをして編集
cp /etc/httpd/conf.d/phpMyAdmin.conf /etc/httpd/conf.d/phpMyAdmin.conf.org vim /etc/httpd/conf.d/phpMyAdmin.conf
エイリアスの設定方法がポイントになるのだが、これについては、VirtualHostを設定するときに後から修正する。
#Order Deny,Allow #Deny from All #Allow from 127.0.0.1 #Allow from ::1 #この4行をコメントアウト Order Allow,Deny Allow from all #この2行を追加 Alias /phpMyAdmin /usr/share/phpMyAdmin #VirtualHostを設定するときにいじるので、とりあえずそのままにしておく。
管理機能のDBを作成する
MySQLにログインしphpMyAdmin用のDBを設定する。
mysql -u root -p Enter password: ←MySQLのrootユーザーパスワード mysql> source /usr/share/phpMyAdmin/examples/create_tables.sql mysql> show databases;
phpmyadmin というDB ができていれば成功だ。
そのまま続けて、pmaというアカウントを作り権限設定を行う。
mysql> GRANT ALL PRIVILEGES ON phpmyadmin.* TO pma@localhost IDENTIFIED BY 'パスワード'; mysql> FLUSH PRIVILEGES; mysql> exit
設定ファイルのバックアップと編集
設定ファイルのサンプルソースを使用するので、もともとの設定ファイルをバックアップしてからサンプルソースに差し替える。
#サンプルソースのコピー cp /usr/share/phpMyAdmin/config.sample.inc.php /etc/phpMyAdmin/ #オリジナルのバックアップ cp /etc/phpMyAdmin/config.inc.php /etc/phpMyAdmin/config.inc.php.org #ディレクトリに移動してサンプルソースに差替え cd /etc/phpMyAdmin/ mv config.sample.inc.php config.inc.php #Homeディレクトリに戻って、設定ファイルを編集のために開く cd vim /etc/phpMyAdmin/config.inc.php
編集箇所は以下の通り。
$cfg['blowfish_secret'] = 'パスフレーズ';(Cookie認証用の適当なパスフレーズ) $cfg['Servers'][$i]['auth_type'] = 'cookie'; *phpMyAdmin configuration storage settings. 以下の コメントアウトを外しさっき作ったアカウント[pma]と そのパスワードを入れる /* User used to manipulate with storage */ $cfg['Servers'][$i]['controlhost'] = ''; $cfg['Servers'][$i]['controluser'] = 'pma'; $cfg['Servers'][$i]['controlpass'] = 'パスワード'; $cfg['Servers'][$i]['user'] = 'pma'; $cfg['Servers'][$i]['password'] = 'パスワード'; /* Storage database and tables */ $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; $cfg['Servers'][$i]['relation'] = 'pma_relation'; $cfg['Servers'][$i]['table_info'] = 'pma_table_info'; $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords'; $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; $cfg['Servers'][$i]['column_info'] = 'pma_column_info'; $cfg['Servers'][$i]['history'] = 'pma_history'; $cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs'; $cfg['Servers'][$i]['tracking'] = 'pma_tracking'; $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords'; $cfg['Servers'][$i]['userconfig'] = 'pma_userconfig'; $cfg['Servers'][$i]['recent'] = 'pma_recent';
再起動
service httpd restart
http://ipアドレス/phpMyAdmin でログイン画面が見れたら成功
ユーザー名:root
パスワード:MySQLのrootのパスワード
でログインできる。
目次
一連の記事の目次は、以下のページにあります。
初心者がさくらのVPSを立ち上げるまで - その1