Pocket

MySQL基本情報(運用管理)

  • add this entry to hatena bookmark

OracleやPostgreSQLに比べて、今までMySQLは触る機会が少ない状態でした。しかし、WordPressのバックエンドで動いていたり、業務上も必要性はあるので、簡単なメモですが備忘録的に記録しておきたいと思います。

バージョン確認方法

RedHatやCentOSでrpm管理している場合は、どのバージョンのパッケージが入っているかをrpmコマンドで確認できます。

# rpm -qa|grep MySQL
MySQL-devel-5.5.23-1.el6.x86_64
MySQL-shared-5.5.23-1.el6.x86_64
MySQL-server-5.5.23-1.el6.x86_64
MySQL-embedded-5.5.23-1.el6.x86_64
MySQL-client-5.5.23-1.el6.x86_64
#

また、MySQLは、DBエンジン部分である「mysqld」とコンソール接続用の「mysql」で構成されています(その他、ライブラリなどもありますが割愛)。よって、インストールバイナリからバージョンを確認する事もできます。

# /usr/bin/mysql --version
/usr/bin/mysql  Ver 14.14 Distrib 5.5.23, for Linux (x86_64) using readline 5.1
# /usr/sbin/mysqld --version
/usr/sbin/mysqld  Ver 5.5.23-log for Linux on x86_64 (MySQL Community Server (GPL))
#

なお、MySQL Community Editionは、自由にダウンロードして無償で利用できるエディションです。

設定ファイル

MySQLの設定ファイルは、/etc/my.cnf です。このファイルでは、MySQLの利用ポートや、メモリ設定以外にも実に様々な設定が行われます。

なお、MySQLではストレージエンジンを選択できます。InnoDBやMyISAMなどがありますが、トランザクションに対応したInnoDBがMySQL5.5からはデフォルトになりました。

詳細は、MySQL事始 ストレージエンジン が参考になると思います。

バックアップ

MySQLにはバックアップ用コマンド「mysqldump」が付属しています。データベースの内容をsql形式でファイルバックアップを行えます。シンプルなバックアップコマンドは以下になります。

# mysqldump -u root -p バックアップ対象DB名 > backup_dump.sql

また、様々なオプションがありますので、必要性に応じて設定を行う事が可能です。以下はごく一部のオプションを抜粋しています。

–single-transaction 一貫性を保持したバックアップを取得する事が出来る。
–default-character-set デフォルトのキャラクタセットを指定できる。
–all-databases 全データベースをDumpする。
–add-drop-table mysqldumpコマンドでデフォルトで設定される(※)
–add-locks mysqldumpコマンドでデフォルトで設定される(※)
–create-options mysqldumpコマンドでデフォルトで設定される(※)
–disable-keys mysqldumpコマンドでデフォルトで設定される(※)
–extended-insert mysqldumpコマンドでデフォルトで設定される(※)
–lock-tables mysqldumpコマンドでデフォルトで設定される(※)
–quick mysqldumpコマンドでデフォルトで設定される(※)
–set-charset mysqldumpコマンドでデフォルトで設定される(※)

※ MySQL5.1以降、デフォルトで有効化された。

詳細は、mysqldump(データベースバックアッププログラム)、もしくは、コマンド「mysqldump –help」を参照してください。

リストア

バックアップ対象データベースの、バックアップファイルからデータをリストアする際には、以下のコマンドで実現できます。

# mysql -u root -p < backup_dump.sql

リカバリ

上記載のリストア作業で最新のバックアップファイルを用いた場合は、バックアップファイルを取得した日時までの状態に戻す事が出来ます。しかし、障害が発生した時点までに戻す事は出来ません。障害が発生した時点までリカバリするには、インクリメント バックアップであるバイナリ ログ ファイルや、クラッシュするまでのログを用いてリカバリ(クラッシュした時点までのデータ変更を失うことなく、最新のデータ変更をリストア)を行う事も可能です。

データベース情報の確認

  • 存在しているデータベースの確認
mysql> show databases;
  • データベースへ接続する
mysql> use データベース名;
  • 接続しているデータベースの確認
mysql> select database();
  • サーバ変数を確認
mysql> show variables;

※ 様々な設定値が確認できる。

  • 登録されているユーザのリストを確認
mysql> select host,user,password from mysql.user;
  • テーブル一覧
mysql> show tables;
  • テーブル情報の一覧表示
mysql> show table status;
  • 指定テーブルのカラム表示
mysql> desc テーブル名;
mysql> show columns from テーブル名;
mysql> show fields from テーブル名;
  • インデックス情報の表示
mysql> show index from テーブル名;

参考情報

http://dev.mysql.com/doc/refman/5.1/ja/index.html

※ 私が調べたかったバージョンは、5.5 ですが、まだ存在しないようでした。5.1 の情報となりますが、記載しています。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

チェックサイト RSS Feed読者登録はいかがでしょうか?RSS配信中です。