CentOS 5 で MySQL をデータベースサーバーとして構築する時の基本を確認します。現在の新規構築で CentOS 5 や当時の MySQL を選ぶべきではありませんが、古い Web システムや業務システムの移行前調査では、設定ファイル、文字コード、起動状態、バックアップ方法を読めることが重要です。
CentOS 5 における MySQL の見方
CentOS 5 時代の MySQL は、mysqld サービス、/etc/my.cnf、データディレクトリ、アプリケーション側の接続情報を合わせて確認します。単体で動いているように見えても、実際には Apache、PHP、監視、バックアップと強く結びついています。
mysqldが起動しているか- 待ち受けアドレスとポート
- 文字コード設定
- データディレクトリの場所
- バックアップとリストアの方法
- アプリケーションからの接続ユーザー
インストールと起動確認
yum install mysql-server mysql
chkconfig mysqld on
service mysqld start
service mysqld status古い環境では、初期設定が曖昧なまま長期間運用されていることがあります。移行前には root パスワード、匿名ユーザー、テストデータベース、リモート接続可否を確認します。
mysqladmin version
mysql -u root -p
netstat -lntp | grep :3306
ps aux | grep [m]ysqldmy.cnf の基本
/etc/my.cnf では、文字コード、バッファ、ログ、待ち受けアドレスなどを確認します。以下は読み解き用の例です。
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
old_passwords=1
character-set-server=utf8
skip-character-set-client-handshake
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
default-character-set=utf8CentOS 5 世代では、アプリケーション都合で古い認証方式や文字コード設定が残っている場合があります。現代的に正しいかどうかだけでなく、当時のアプリケーションが何を前提にしていたかを確認します。
データベースとユーザーの確認
稼働中のデータベース、ユーザー、権限を確認します。移行作業では、アプリケーションが使っているデータベースだけでなく、不要に見える古いデータベースも一度棚卸しします。
mysql -u root -p -e "SHOW DATABASES;"
mysql -u root -p -e "SELECT User,Host FROM mysql.user;"
mysql -u root -p -e "SHOW VARIABLES LIKE 'character_set%';"バックアップの基本
古い MySQL の移行では、まず論理バックアップを取れる状態にしておくのが基本です。停止可能な環境であれば、整合性を取りやすいタイミングでバックアップします。
mysqldump -u root -p --single-transaction --routines --events --all-databases > all-databases.sql
ls -lh all-databases.sql
head -n 20 all-databases.sql--single-transaction は InnoDB では有効ですが、MyISAM だけの古い構成では完全な整合性を保証するものではありません。テーブルエンジンも合わせて確認します。
mysql -u root -p -e "SELECT TABLE_SCHEMA,TABLE_NAME,ENGINE FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('mysql','information_schema');"まとめ
CentOS 5 の MySQL は、設定ファイル、文字コード、ユーザー権限、データディレクトリ、バックアップ方法をまとめて確認します。古い環境では「動いているから正しい」とは限らないため、移行前に実際のアプリケーション接続とデータの取り出し方法を確認しておくことが重要です。
関連する記事
- CentOS 5 サーバー管理ガイド
CentOS 5 系の記事を役割別に確認できるハブページです。 - CentOS 5 Apache Status の確認
Web サーバー側の稼働状態確認です。 - CentOS 5 Cacti モニタリングサーバー構築
古い監視基盤との関係を確認します。
参考書籍
古い Linux サーバーの記事を読み直す時にも、コマンドライン操作の考え方を確認しやすい参考書籍です。
Amazon で見る
