第3回 コマンドによるMySQL管理テクニック

前回に引き続き、MySQLのコマンドについて解説する。また、MySQLの設定を保存しているmysqlデータベースの内部構成を知ることで、MySQLへの理解を深めてほしい。

鶴長 鎮一
MySQLユーザ会
2001/2/16

mysqladminの基本操作

■データベースの作成

 前回は、既存のtestデータベースを使って操作を解説しました。肝心のデータベース作成の手順については、まだお話ししていませんでした。

 データベースの作成/削除やMySQLサーバの再起動/停止といった重要な作業は“mysqladmin”コマンドで行います。このmysqladminコマンドを使えるのは、許されたユーザーだけに限られます。試しに、一般ユーザーでMySQLサーバの権限参照定義を再読み込みさせてみましょう。

$ mysqladmin reload
mysqladmin: reload failed; error: 'Access denied for user: '@localhost' (Using password: NO)'

 上記のように、一般ユーザーの操作は受け付けないようになっています。特別な操作が許されるスーパーユーザー(root)で同じようにやってみましょう(MySQLサーバとmysqladminコマンドを使用するサーバは同一である必要があります)。

# mysqladmin reload

 今度は何事もなく終了したと思います。しかし、mysqladminコマンドを使うたびにsuしていたのでは操作が煩わしくなります。そこで、一般ユーザーでmysqladminコマンドを使用できるように、オプションでユーザーを指定します。

$ mysqladmin -u root reload

 インストールをしただけの状態では、rootユーザーに対するパスワードが設定されていないため、パスワードの入力を促す、“-p”オプションは指定していません。レンタルサーバを利用している場合などは、管理者でないと使えないので、mysqladminを使う必要がある場合はサーバ管理者に相談しましょう。

 では上記のことをふまえて、まずはデータベースを作成してみましょう。

$ mysqladmin -u root create TEST2

 mysqlshowコマンドで確認してみましょう。

$ mysqlshow
+-----------+
| Databases |
+-----------+
| TEST2     |
| mysql     |
| test      |
+-----------+

 このように、TEST2が作られていれば成功です。

 データベースを削除する場合は

$ mysqladmin -u root drop TEST2

とし、

Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.

Do you really want to drop the 'TEST2' database [y/N]

の質問に“y”とタイプすれば、削除されます。

 作成したデータベースを切り替えて操作するには、mysqlコマンドを起動する際にデータベースを指定します。

$ mysql データベース名

 ですが、この方法ではデータベースを切り替えるたびにmysqlプロンプトを抜ける必要があります。一連の操作の中で、mysqlコマンドを終了させることなくデータベースを切り替えるには下記のようにします。

$ mysql test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 3.23.28-gamma

Type 'help;' or '\h' for help. Type '\c' to clear the buffer

mysql> use TEST2;

 これで、データベースを切り替えることができますが、実際には

ERROR 1044: Access denied for user: '@localhost' to database 'TEST2'

となってうまくいかないと思います。これは、参照権の問題です。TEST2データベースを作成した際、rootユーザーでmysqladminコマンドを使用したため、データベースの操作もrootのみに限られてしまったのです。これについては、後ほど紹介するユーザー参照権についてで説明します。

■mysqlとmysqladminのオプション

 mysql/mysqladminコマンドのオプションの指定方法は2通りあります。1つは前出の

$ mysqladmin -u ユーザー名 [操作]

のように、オプションを“-”で指定して値を入力する方法。もう1つは

$ mysqladmin --user=ユーザー名 [操作]

のように、“--”の後にオプションを指定し、“=”の後に値を入力する方法です。どちらを使うかは好みの分かれるところです。

 よく利用されるオプションには下記のようなものがあります。

[mysqlコマンドオプション]

  • --user=ユーザー名
  • -u ユーザー名
    ユーザー名の指定

  • --password

  • -p
    サーバに接続する際のパスワードの指定。パスワードは“Enter password:”プロンプトの後に入力する

  • --host=ホスト名

  • -h ホスト名
    MySQLサーバのホスト名(またはIPアドレス)

  • --port=ポート番号

  • -P ポート番号
    MySQLサーバのポート番号を指定する場合。デフォルトの“3306”で起動されている場合は省略可能

  • --default-character-set=キャラクタセット
    MySQLサーバのキャラクタセットを指定。EUCなら“ujis”。SJISなら“sjis”

[mysqladminコマンドオプション]

  • --user=ユーザー名(-u ユーザー名)
  • --password(-p)
  • --host=ホスト名(-h ホスト名)
  • --port=ポート番号(-P ポート番号)

はmysqlコマンドと同じように指定できます。

 ほかにも下記のようなものがあります。

  • --help
  • -?
    ヘルプの表示

  • --version

  • -V
    バージョンの表示

 そのほかのオプションについては

http://www.mysql.gr.jp/jpdoc/3.23/manual.ja_Installing.html#Command-line_options
を参照してください。

1/2

Index
快速MySQLでデータベースアプリ!
mysqladminの基本操作
データベースの作成
mysqlとmysqladminのオプション
  コマンド操作の応用
外部ファイルによるバッチ処理
結果をファイルへ出力
  ユーザー参照権について
userテーブル
dbテーブル
  次回予告

連載 快速MySQLでデータベースアプリ!


 Linux Squareフォーラム データベース関連記事
連載:快速MySQLでデータベースアプリ!(全11回)
軽快な動作で知られるRDBMS、MySQLでDBアプリの構築を行う。MySQLのインストールに始まり、PerlやRubyなどのスクリプトでデータベースを操作する方法までを完全解説
連載:今から始める MySQL入門(連載中)
定番のLAMP(Linux+Apache+MySQL+PHP)構成でWebアプリケーション開発に挑戦! サンプルアプリの構築を進めながら、基礎知識や操作方法について詳しく解説する
連載:Oracleマイスター養成講座(全6回)
本連載では、Oracleの管理・チューニング方法を紹介していく。これからOracleを始める人、そしてOracleをより深く理解したい人のための、一歩踏み込んだ実用講座
連載:DB2マイスター養成講座(全7回)
本連載では、DB2 UDBの実践的な運用・管理方法を紹介していく。DB2を利用するうえで必要な知識を、実運用を前提にDB2のプロが解説
特集:エンタープライズ市場に向かうMySQL 5.0[前編]
MySQL 5.0の新機能をアルファ版でチェック
1月に公開された5.0アルファ版は大幅に拡張されており、エンタープライズ市場への進出を予感させる
特集:Linuxで動くリレーショナルデータベース・カタログ
データベースサーバのOSとしてLinuxを採用するケースが増えている。Linuxで動作する7つの主なリレーショナルデータベースを紹介する。製品導入の際の参考にしてほしい

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

TechTargetジャパン

Linux Square フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ



- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH