Hosting Department:ホスティングを活用するための基礎知識

第11回ホスティングサービスでDBメンテナンスを学ぶ part.2

ホスティングサービスにおけるDB(データベース)メンテナンスに関する集中連載の第2回として、今回はメンテナンス手法を解説します。あまり身構えず、基本のおさらいから始めましょう。

メンテナンス方法は大きく分けて3種類

MySQLのメンテナンスには、ホスティングサービスが提供するツールを利用する方法、シェルでアクセスする方法、管理ツールを利用する方法があります。

ホスティングサービス提供のMySQL、とりわけ共有サーバでは、大半の場合サービス側で管理ツールを用意しています。提供される管理ツールで設定可能な内容はサービスにより異なりますので、ヘルプなどで確認しましょう。

シェルが利用できる場合は、MySQLのクライアントプログラムでメンテナンスします。PHPやPerl、pythonなどのスクリプトやプログラムからMySQLの構文を利用してのメンテナンスも可能です。ただし、MySQLの起動や停止などはMySQLのサーバプログラムmysqldに対して操作します。

サービスによっては、phpMyAdminなどの管理ツールを利用できる場合があります。

ここではシェルでの操作を中心に、基本的なポイントを解説します。

MySQLの起動・停止・再起動

通常MySQLは自動起動されるため、手動での起動や停止はあまり必要ありませんが、メンテナンスなどで起動や停止、再起動する場合の方法を紹介します。

LinuxでMySQLを手動で起動するには、シェルのコマンドプロンプトで⁠/etc/init.d/mysqldstart⁠と実行します。終了するにはstartの代わりにstop、再起動するにはrestartと入力します。

mysqlコマンドプロンプト

シェルからMySQLをメンテナンスするには、MySQLのコマンドプロンプトから構文を入力するか、mysqladminなどの管理コマンドを使用する方法があります。MySQLのコマンドプロンプトを起動するには、シェルのコマンドプロンプトから⁠mysql-u root⁠と入力します。この他、mysqlの主なオプションを列記します。[]内は省略可のパラメータ、()内は短縮形です

 mysqlコマンドのオプション
--help (-?)ヘルプの表示
--column-names結果にコラム名を表示する
--skip-column-names(-N)結果にコラム名を表示しない
--debug[={ ログのパス}], -# [{ ログのパス}]デバッグログの書き込み
--line-numbersエラー時に行番号を出力する
--skip-line-numbers(-L)エラー時に行番号を出力しない
--verbose (-v)より詳細な結果の出力

MySQLのオプションファイル

MySQLは起動時に通常、my.cnfというオプションファイル(設定ファイル)を読み込みます。Windowsの場合は、my.cnfではなくmy.iniとなる場合があります。定義ファイルを読み込んでいるかどうかは、シェルのコマンドプロンプトから⁠mysql--help⁠または⁠mysqld--help--verbose⁠を実行して調べられます。定義ファイルは読み込み順が決まっていて、Linuxでは、

  • ① /etc/my.cnf
  • ② $MYSQL_HOME/my.cnf
  • ③ defaults-extrafile(起動時に同盟オプションで指定したファイル)
  • ④ ~/.my.cnf

の順になります。

記述内容はmysqldの起動オプションとほぼ同じですが、先頭の⁠--⁠を省略することに注意しましょう。

主なMySQL構文

ユーザの定義やDB/テーブルの作成には、MySQL構文を用います。これはmysqlのコマンドプロンプトや、PHPなどのスクリプト/プログラムから実行します。

主な構文を簡単に紹介します。

ユーザ関連
CREATE USERユーザの作成
GRANTユーザの権限設定(存在しないユーザ名を指定すると自動的に作成)
DROP USERユーザの削除
DB関連
CREATE DATABASEDBの作成
SHOW DATABASESDB名の一覧
DROP DATABASEDBの削除
テーブル関連
CREATE TABLEテーブルの作成
ALTER TABLEテーブル定義の変更
SHOW TABLESテーブル名の一覧
RENAME TABLEテーブル名の変更
SHOW COLUMNSテーブルのカラム情報の一覧
DROP TABLEテーブルの削除

Webサーバとの連携

MySQLではC/C++、Java、PHP、Python、Ruby、PerlなどのAPIを用意しており、これらの言語で記述したプログラムやスクリプトからMySQLを利用可能です。WebサーバとMySQLを連携するには、WebサーバでMySQLがサポートする言語のいずれかに対応させ、その言語で適切なクエリを送信するスクリプトやプログラムを作成します。

おすすめ記事

記事・ニュース一覧