Home > タグ > MySQL

MySQL

PHP 5.3.9 と MySQL 5.5.20 にアップデート

公式リポジトリではなく非公式のRemiリポジトリからのリリースされたもの。

PHP5.3.9 アップデート内容
>>PHP 5.3.9 Released!
MySQL5.5.20 アップデート内容
>> D.1.2. Changes in MySQL 5.5.20 (10 January 2012)

CentOS 6.1にアップデート


CentOS 6.1がリリースされていたのでyumにてアップデート。
CentOS 6用のContinuous Releaseリポジトリを導入していたのでupdatesのファイル数自体はそれほど多くなかった。

アップデート後再起動しバージョン確認

# cat /etc/redhat-release
CentOS release 6.1 (Final)

CentOS 6.1 Release Notes

序にremiリポジトリにMySQL5.5.19がリリースされていたので併せてアップデート

# rpm -q mysql
mysql-5.5.19-1.el6.remi.x86_64

MySQL5.5.19更新内容 »» D.1.2. Changes in MySQL 5.5.19 (08 December 2011)

MySQL5.5.16にアップデート

MySQLの5.5.16がRemiレポジトリよりリリースされていたのでアップデート。

(1/12): mysql-5.5.16-1.el6.remi.x86_64.rpm                         | 5.7 MB
(2/12): mysql-devel-5.5.16-1.el6.remi.x86_64.rpm                   | 152 kB
(3/12): mysql-libs-5.5.16-1.el6.remi.x86_64.rpm                    | 757 kB
(4/12): mysql-server-5.5.16-1.el6.remi.x86_64.rpm                  |  10 MB
(5/12): php-5.3.8-4.el6.remi.x86_64.rpm                            | 2.3 MB
(6/12): php-cli-5.3.8-4.el6.remi.x86_64.rpm                        | 2.2 MB
(7/12): php-common-5.3.8-4.el6.remi.x86_64.rpm                     | 844 kB
(8/12): php-gd-5.3.8-4.el6.remi.x86_64.rpm                         | 131 kB
(9/12): php-mbstring-5.3.8-4.el6.remi.x86_64.rpm                   | 894 kB
(10/12): php-mcrypt-5.3.8-4.el6.remi.x86_64.rpm                    |  39 kB
(11/12): php-mysql-5.3.8-4.el6.remi.x86_64.rpm                     |  80 kB
(12/12): php-pdo-5.3.8-4.el6.remi.x86_64.rpm                       | 106 kB

PHP関連も修正が入っていたみたいなので併せて実行

DB自体をアップグレード

[root@centos ~]# mysql_upgrade -u root -p

MySQLの再起動

[root@centos ~]# /etc/rc.d/init.d/mysqld restart
mysqld を停止中:                                           [  OK  ]
mysqld を起動中:                                           [  OK  ]

バージョン確認

[root@centos ~]# rpm -q mysql
mysql-5.5.16-1.el6.remi.x86_64

MySQL5.5.16更新内容 »» D.1.1. Changes in MySQL 5.5.16 (15 September 2011)

MySQL5.5 default-character-set 廃止

MySQLを5.1から5.5にアップデートしたら起動でこけた。
どうやらdefault-character-setが廃止になりcharacter-set-serverに変わったみたい。

/etc/my.cnf の[mysqld]項目を変更すれば問題なく起動した。

[mysqld]
#default-character-set = utf8 ← 無効化
character-set-server = utf8 ← 追加
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# To enable the InnoDB Plugin, uncomment the 2 next lines
#ignore-builtin-innodb
#plugin-load=innodb=ha_innodb_plugin.so

# To enable InnoDB-related INFORMATION_SCHEMA tables
# Join the following options to above directive
;innodb_trx=ha_innodb_plugin.so
;innodb_locks=ha_innodb_plugin.so
;innodb_cmp=ha_innodb_plugin.so
;innodb_cmp_reset=ha_innodb_plugin.so
;innodb_cmpmem=ha_innodb_plugin.so
;innodb_cmpmem_reset=ha_innodb_plugin.so

key_buffer_size=512MB
table_cache=1024
max_allowed_packet=1MB
long_query_time=1
sort_buffer_size=2MB

起動後は使用していたデータベース自体もアップデート必要なので下記コマンド実行。

# mysql_upgrade -u root -p

my.cnfaにある最下段のチューニング項目は5.1時代のものなのでこのままでOKなのかは不明だが今のところ問題なく動作している。

MySQL管理ツール phpMyAdmin

phpMyAdmin
MySQLをGUI環境で操作できるPHPアプリ。SQL文を全く書けない私にでもデータベースを操作できるので、データを修正したい時など非常に重宝している。

もちろんデータベースの作成や削除だけではなく、インポートやエキスポート機能もあるのでデータベース関連はこのアプリさえあれば事足りる。
と言うかかなり長い間使用しているが、この4つの機能しか殆ど使用した事がない。

ただ難点は更新頻度が結構速いのでアップデート作業が頻繁に訪れる。外部に公開しているわけではないので最新版を追いかける必要もないかもしれないが、security-fix versionとか書かれると気になりついついアップデートしてしまう。

因みにphpMyAdmin3.xxシリーズはPHP5.2以降及びMySQL5.0以降の環境が必要条件になっており、CentOSのデフォルトではPHPが5.1.6なのでphpMyAdminは2.xxシリーズになってしまう。

リポジトリを追加 -Les RPM de Remi-

CentOS5.2でPHPをインストールするとPHP5.1.6がインストールされるが5.2.xxを使用したかったのでサードパーティのリポジトリを追加した。

今回追加したのはフランスのLes RPM de Remiというところのもの。追加することによりPHPやMySQLの最新版が使用することができる。
ただ公式にサポートされたリポジトリではないので当然リスクは大きくなるが、故人鯖ゆえ第三者に迷惑がかからなければOKというスタンスで導入した。

GPGキーをインポート

[root@server ~]# rpm –import http://rpms.famillecollet.com/RPM-GPG-KEY-remi

リポジトリファイルを追加

[root@server ~]# cd /etc/yum.repos.d
[root@server ~]# wget http://rpms.famillecollet.com/remi-enterprise.repo

リポジトリファイルを編集

[root@server ~]# vi /etc/yum.repos.d/remi-enterprise.repo

[remi]
name=Les RPM de remi pour Enterpise Linux $releasever – $basearch
baseurl=http://rpms.famillecollet.com/el$releasever.$basearch/
http://iut-info.univ-reims.fr/remirpms/el$releasever.$basearch/
enabled=0
gpgcheck=1
gpgkey=http://rpms.famillecollet.com/RPM-GPG-KEY-remi
failovermethod=priority

[remi-test]
name=Les RPM de remi en test pour Enterpise Linux $releasever – $basearch
baseurl=http://remi.collet.free.fr/rpms/test-el$releasever.$basearch/
enabled=0
gpgcheck=1
gpgkey=http://rpms.famillecollet.com/RPM-GPG-KEY-remi

常時有効にしておくのは気持ち悪いので[remi]のenabled=1をenabled=0に変更。
[remi-test]はアルファ版等のテスト用なので使用しない方がベターというか項目自体削除しておいた方がいいと思う。

で実際に使用する際は下記コマンドでOK

[root@server ~]# yum –enablerepo=remi update php

ただ依存関係で躓く事も多いので実際には下記のコマンドで対応している。

[root@server ~]# yum –enablerepo=remi update

MySQLのチューニング

現在使用しているテーブル数は100前後なのでチューニングする必要性はないと思うが。

/etc/my.cnfを編集

[mysqld]
key_buffer_size=512MB
table_cache=1024
max_allowed_packet=1MB
record_buffer=1MB
long_query_time=1
sort_buffer_size=2MB

下記記事を参考にすべて設定するとエラーが起きてMySQLが起動しなかったので上記パラメータのみ設定するようにした。
ただエラーが起きたのは私の書き方が間違っていたために発生したのかもしれない。
因みに現在当サーバにインストールされているMySQLのバージョンは5.0.22なので最新版ではないみたい。

参考記事 » 5分でできる、MySQLのメモリ関係のチューニング!

万一に備えて /etc/my.cnf の中身をメモしておく。

続きを読む

Home > タグ > MySQL

Tag Cloud
メタ情報

ページの上部に戻る