モデリングツールから管理・開発統合環境に進化したMySQL Workbench 6.0 3

Pythonで作られた便利なコマンドラインツール MySQL Utilities

「MySQL Utilities」とは?MySQL UtilitiesはPython言語により作成された便利なコマンドラインツール群です。MySQL Workbenchに付属する形で公開され、現在はMySQL Workbenchから独立する形で配布されています。そしてMySQLサーバーへの接続には

木村 明治(きむらめいじ)

2014年2月11日 1:00

「MySQL Utilities」とは?

MySQL UtilitiesはPython言語により作成された便利なコマンドラインツール群です。MySQL Workbenchに付属する形で公開され、現在はMySQL Workbenchから独立する形で配布されています。そしてMySQLサーバーへの接続にはConnector/Pythonが利用されています。
LinuxをはじめとするPythonの環境が整っているプラットフォームではPythonスクリプトがそのまま提供され、Windowsのように標準的なPython環境を持たないプラットフォームではPythonのスクリプトをネイティブの実行形式(*.exe)に変換された形で配布されています。

MySQL Utilities自体はコマンドラインのツール群ですので、Workbenchの実行に必要な、比較的新しめのGUI環境は必要ありません。そのため、Workbenchがサポートするよりも、より多くのプラットフォームで単独利用が可能です。

MySQL Utilitiesコマンドラインツール一覧

MySQL Utilitiesは原稿執筆時点(2014-01)で、以下の20ユーティリティ+実行環境(mysqluc: MySQL Utilities Client)の21ユーティリティから構成されています。

ユーティリティ記述
mysqlauditadmin監査ログメンテナンスユーティリティ
mysqlauditgrep監査ログ検索ユーティリティ
mysqldbcompareデータベース比較
mysqldbcopyサーバー間でのデータベースのコピー
mysqldbexportデータベースからメタデータとデータのエキスポート
mysqldbimportデータベースからメタデータとデータのインポート
mysqldiffデータベースオブジェクト定義の比較
mysqldiskusageデータベースのディスク仕様量の表示
mysqlfailoverレプリケーションの自動モニタリングとフェイルオーバー
mysqlfrm.frmファイルからテーブル定義を表示
mysqlindexcheck重複、もしくは冗長なインデックスをチェック
mysqlmetagrepメタデータの検索
mysqlprocgrepプロセス情報の検索
mysqlreplicateマスターとのレプリケーション確立
mysqlrpladminレプリケーション管理ユーティリティ
mysqlrplcheckレプリケーションのチェック
mysqlrplshowマスターに接続されているスレーブの表示
mysqlserverclone動作中のMySQLを元に別インスタンスを開始
mysqlserverinfoMySQLサーバーの情報を表示
mysqluserclone既存のMySQLユーザから新しいユーザを作成

MySQL Utilitiesならではの注意点

MySQL Utilitiesは従来のコマンドラインツール群とは違い、以下のような記述で接続先を指定します。
これは、従来のコマンドラインツール群が主に1つのMySQLサーバーを対象として動作するものなのに対して、MySQL Utilitiesは2つ以上のMySQLサーバーを対象として動作するものが多いため、このような記法になっています。

[MySQL Utilitiesの記法]

--server=ユーザ名:パスワード@ホスト名:ポート番号

[MySQL コマンドラインツール群の記法]

--user=ユーザ名 --password=パスワード --host=ホスト名 --port=ポート番号

なおWindows環境ではローカルホストとしてlocalhostと127.0.0.1のどちらを指定しても同じですが、LinuxやUNIXではホスト名に対してlocalhostを指定するとUNIXドメインソケットを利用して接続を行います。そのため、localhostを指定する場合にはポート番号の代わりにソケット名を指定してください(例: --server=root:root@localhost:/var/lib/mysql/mysql.sock)。

コマンドがうまく動作しない場合、多くのコマンドでは-vオプションが使えますので、-vを追加のうえ再実行して動作の詳細を表示してください。またWindows環境のようにmysqlucから実行している場合には、show last errorにてエラーメッセージを調べることも可能です。

MySQL Utilitiesのインストール

MySQL UtilitiesはWorkbenchホーム画面右上(図1)のMySQL Utilitiesからクリック(もしくはメニューのTools-Start Shell for MySQL Utilitiesから)して起動します。

図1:MySQL Utilitiesの起動(クリックで拡大)

まだインストールされていなければインストールのガイダンスがエラーメッセージにて表示されるので、それに従ってインストールしてください。Windowsの場合はMSI形式のインストーラになります。

またLinuxではプラットフォーム別、もしくは一般的なLinuxに利用できるGeneric Linuxのパッケージを利用することになります。RHEL/Oracle Linuxにインストールする場合はrpmパッケージを以下のコマンドでインストールします。

shell> yum install mysql-utilities-1.3.6-1.el6.noarch.rpm

通常はデフォルトで入っているPythonで事足りるため、Connector/Pythonパッケージの追加インストールだけで利用できるようになります。

実際に利用してみよう

MySQLサーバーの情報を表示するmysqlserverinfoを実際に利用してみましょう。指定するオプションは--server=での接続先の指定と、表示を垂直に表示する--format=verticalの二つです(MySQLコマンドラインツールの\Gに相当します)。

mysqluc> mysqlserverinfo --server=root:root@localhost:3306 --format=vertical
  # Source on localhost: ... connected.
  *************************       1. row *************************
  server: localhost:3306
  config_file:
  binary_log:
  binary_log_pos:
  relay_log:
  relay_log_pos:
  version: 5.6.14-log
  datadir: C:\ProgramData\MySQL\MySQL Server 5.6\data\
  basedir: C:\Program Files\MySQL\MySQL Server 5.6\
  plugin_dir: C:\Program Files\MySQL\MySQL Server 5.6\lib\plugin\
  general_log: ON
  general_log_file: MEIJI-ACER-PC.log
  general_log_file_size:
  log_error: .\MEIJI-ACER-PC.err
  log_error_file_size:
  slow_query_log: OFF
  slow_query_log_file:
  slow_query_log_file_size:
  1 row.

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored