MySQL Enterprise インストール手順


MySQL Enterprise (有償版, 商用版, Commercial) のインストール手順について記します。MySQLには無償(Community)版と有償(Commercial)版が存在します。私がセミナー参加などで受けた印象ですが、以下の機能が無償版に比べて強化されている印象でした。

  • グラフィカルインターフェース ( GUI ) による管理機能
  • FISC, NISC, PCIDSS等で定義されたセキュリティ/監査機能

「セキュリティ/監査機能が必要である」「運用メンバーの学習コストを抑えたい」「でも、Oracleはライセンス料が高すぎて払えない」・・・。そんな要件ならば、商用版MySQLを検討する価値もあるかと思います。

なお、無償版(Community版)のMySQLについては、以下を参照ください。

red_dolphin_001

MySQL Enterprise について

MySQL Enterpriseのライセンス体系

MySQLには無償(Community)版と有償(Commercial)版が存在します。有償版を使用する事によって、以下のようなメリットを享受する事ができます。

  • MySQLソースコード解析ができるレベルの超有名エンジニアからのサポートが受けられるらしい ( Oracle のセミナーで聞いた限りでは・・・ )
  • グラフィカルインターフェース ( GUI ) による管理機能
  • FISC, NISC, PCIDSS等で定義されたセキュリティ/監査機能
  • 一部機能の性能改善 ( 例 : thread pool, 並列処理のmysqldumpなど )

有償版はさらに、Standard Edition, Enterprise Edition, Cluster Carrier Grade Editionの3つのエディションに分類されます。機能体系は比較的Oracleに近く、パーティショニングをしたい場合はEnterprise Editionの購入が必要となります。

mysql_support_001

MySQL Enterpriseの機能

MySQL Enterpriseは管理機能が非常に充実しております。もちろん、SHOW ENGINE INNODB STATUS, SHOW SLAVE STATUS, information_schemaを使いこなせるエンジニアには管理機能は不要かもしれませんが、管理コマンドを使いこなせない人(いわゆるオペレータ) を多く抱える会社や社内人件費が高い会社にとっては魅力的な機能かと思います。

MySQL Enterpriseはデータベース本体以外に、以下のような管理機能を提供する周辺ソフトウェアが存在します。

  • MySQL Enterprise Monitor
  • Oracle Enterprise Manager for MySQL Database
  • MySQL Enterprise Backup ( 旧名 : Innodb Hot Backup )
  • MySQL Enterprise Security
  • MySQL Enterprise Encryption
  • MySQL Enterprise Audit
  • MySQL Thread Pool

MySQL Enterpriseのダウンロード

MySQL公式サイト(dev.mysql.com)にアクセスし、Downloads, Enterpriseの順に押下します。

mys_ent_download_001

画面を下の方にスクロールさせ、Oracle eDeliveryへのリンクを押下します。

mys_ent_download_002

Oracle edeliveryの画面で、「Sign In」を押下します。

mys_ent_download_003

Oracleのアカウント情報を入力して下さい。

なお、Oracleアカウントは誰でも作成する事ができます。また、検証目的の利用ならば、ライセンス費なしでMySQL Enterpriseを使用しても法律上の問題はございません(2015/01/11現在)。

mys_ent_download_004

ライセンスと輸出に関して同意した上で、Continueを押下します。

mys_ent_download_005

お使いのOSを選択し、Goを押下します。

mys_ent_download_006

“Download”を押下し、MySQL Databaseをダウンロードして下さい。

mys_ent_download_007

Enterprise Monitor, Enterprise Backupなど、MySQL Enterpriseに含まれるその他ソフトウェアもこの画面からダウンロードする事ができます。

mys_ent_download_008

MySQL Enterprise Database

MySQL Enterprise Databaseのインストール

ダウンロードしたzipファイルを適当なディレクトリに展開します。

zipファイルを展開すると、以下のようなファイルが作成されます。

各パッケージのインストールを行います。各パッケージの意味や手順の意図については、MySQL インストール手順 Linuxの場合を参照ください。

まず、mysql-libsの互換性パッケージをインストールします。

mysql-libsを削除します。crontab, sysstatなどのmysql-libs依存のパッケージも含めてアンインストールされていない事を確認します。

もし、同時にアンインストールれてしまった場合は、互換性パッケージ(MySQL-shared-compat-advanced)のインストール漏れが疑われます。

その他のMySQL関連のパッケージをインストールします。

MySQL Enterprise Databaseの起動/接続

起動スクリプトを用いてMySQLを起動します。

もし、起動に失敗した場合は以下のように表示されます。

起動に失敗した場合はエラーログを参照して下さい。エラーログは/etc/my.cnfのlog_errorで指定したパスに存在します。my.cnfが存在しない、またはlog_errorの指定がない場合は、/var/lib/mysql配下にホスト名でエラーログのファイルが作成されます。

例えば以下のようなエラーログの場合は、”InnoDB: Cannot allocate memory for the buffer pool”と出力されているのでメモリ不足を表しています。AWS t1.microを使用する場合は、MySQLのデフォルト設定ではメモリ不足が起きてしまうので、innodb_buffer_pool_size, innodb_log_buffer_sizeをデフォルト値よりも小さくしなければなりません。

なお、起動時のエラーは環境により異なりますので、エラーログの具体的な読み方については説明を省略します。

MySQLの起動に成功しましたら、rootユーザのパスワードを確認します。rootユーザのパスワードは~/.mysql_secretに格納されています。

確認したパスワードを用いてMySQLに接続できる事を確認します。

MySQL Enterprise Backup

MySQL Enterprise Backup 概要

MySQLの無償版で使用できるバックアップ手法は、大きく分けて以下の2つです。

  • mysqldump によるファイルバックアップ
  • ファイルコピーによるバックアップ ( scp, rsync, LVM snapshotなど )

「mysqldumpによるバックアップ」はデータをSQL文に変換する処理であるため、大量データのバックアップは非常に時間がかかります。一方、「ファイルコピーによるバックアップ」は高速であるものの、まだデータベースに書き込まれていない中途半端なデータ(トランザクション単位に満たないデータ)も含めてバックアップされるます。そのため、リストア時に中途半端なデータをロールバックするINNODB crash recoveryという待ち時間が長い処理が実行されます。

どちらの処理も一長一短ですが、これら処理の良い所取りしたのが、Enterprise Backup (旧名 : Innodb Hot Backup)です。Enterprise Backupは、ファイルそのものもコピーするのと同時に、中途半端なデータのつじつまを合わせてくれる優れものです。 (正確な説明は省略します。興味のある方は、innodb_log_buffer_size, ib_logfile, LSNなどのキーワードを正確に抑えてから調査する事をお勧めします。)

MySQL Enterprise Backup のインストール

Enterprise Backupをダウンロードし、ダウンロードしたzipファイルを適当なディレクトリに展開します。

zipファイルを展開すると、以下のようなファイルが作成されます。

RPMファイルをインストールします。

mysqlbackupというファイルがEnterprise Backupの実行ファイルです。/opt/mysql/以下にmysqlbackupというファイルが作成されている事を確認します。

MySQL Enterprise Backup のバックアップ実行例

Enterprise Backupは単純なFull Backupだけでなく、Incremental Backup, Compress Backupなど多数のバックアップ方法を提供します。全てのバックアップ方法を紹介すると説明が長くなりますので、ここではFull Backupの実行例を紹介します。

mysqlbackupに適当な引数を渡して実行します。ユーザ名, パスワード, 接続先ホスト, ソケットファイルなどの接続情報はmysqlコマンドと同様の引数を指定します。–backup-dirはバックアップファイルを保存するディレクトリです。最後の引数は、バックアップ方法の指定で、backup, backup-and-apply-log, backup-to-imageの3つから選べます。

実行結果は以下のようになります。”mysqlbackup completed OK!”と出力される事を確認して下さい。

バックアップに関するファイルが作成された事を確認します。

MySQL Enterprise Backup のリストア実行例

先ほど取得したバックアップをリストア先のサーバへ転送します。

リストア先のサーバで、あらかじめmysqldを停止させておきます。

mysqlbackupコマンドに適当な引数を与えて実行します。マニュアルは誤植が目立ちますので、エラーメッセージを見つつ、適宜オプションを見つけて下さい。mysqlbackupに与える引数の意味は読んだままの意味ですので、説明を省略します。

実行時のログは以下の通りです。”mysqlbackup completed OK”と表示される事を確認して下さい。

MySQL Enterprise Monitor

MySQL Enterprise Monitorの概要

MySQL Enterprise Monitorは、MySQLの性能情報をグラフィカルに見せてくれるツールです。出力内容は”SHOW ENGINE INNODB STATUS”, “SHOW SLAVE STATUS”などと変わりませんが、グラフィカルで直観的な画面になっていますので、MySQLの知識がない人でも何となく状況を理解する事ができます。

MySQL Enterprise Monitorは、Server MonitorとMonitor Agentの2つで構成されます。以下、この2つのコンポーネントのインストール方法について説明します。

mys_ent_monitor_component_001

MySQL Enterprise Server Monitorのインストール

Server Monitor (Enterprise Monitor との表記揺れあり) をダウンロードし、zipファイルを展開します。すると、以下のようなファイルが作成されます。

mysqlmonitor-3.0.18.3095-linux-x86_64-installer.binというファイルを実行します。GUI環境ならばインストーラーが起動し、CLI環境ならば対話式のインストールが開始されます。

インストール時に使用する言語を選びます。日本語版はテスト不十分である事が多く、思わぬ不具合に遭遇する可能性が高いです。従って、私は”Engilish”を強く推奨します。

ユーザ名やパスワードを控えられるよう、メモの準備をして下さい。

MySQL Enterprise Monitor をインストールするディレクトリを指定してください。

監視対象となるMySQLサーバの台数を3択で指定します。10台未満ならば1を、100台未満ならば2を、100台超ならば3を押下します。

Yとnのどちらを選んでも差し支えございません。

Enterprise Monitor ServerはTomcatによるWebアプリケーションです。Tomcatがhttp, httpsで使用するポート番号を指定します。

Server Monitorを実行するLinuxユーザを指定します。デフォルトのmysqlmemのままで、エンターを押下するのが良いでしょう。

予めインストール済のMySQLにリポジトリ(監視結果格納データベース)を構築するのか、それともMySQLを新規インストールしリポジトリを構築するのかを選択します。MySQLインストール済の場合は、2を選択します。

次の質問でServer Managerがリポジトリ (監視結果格納データベース) に接続する情報を聞かれます。質問に答える前に、あらかじめServer Managerが使用するMySQLユーザを作成しましょう。

mysqlにログインし、ユーザ”service_manager”を作成します。

Server Managerがリポジトリ (監視結果格納データベース)に接続可能になるよう、接続情報を入力します。

Yを押下し、インストールを開始します。

インストールが終了するまで待ちます。

インストールが完了すると以下のようなメッセージが表示されます。

MySQL Enterprise Server Monitorの初期セットアップ

ブラウザに以下のようなURLを入力し、MySQL Enterprise Monitoryの画面に接続します。(IPアドレス, ホスト名部分は適宜変更)

mys_ent_monitor_001

MySQL Enterprise Monitorは複数のコンポーネントによって構成されます。複数のコンポーネントの中でも重要なのが、Enterprise MonitorとEnterprise Agentです。

MonitorとAgentのそれぞれについて、ユーザ名とパスワードを入力して下さい。なお、MonitorとAgentには異なるユーザ名が必要となります。

mys_ent_monitor_002

Complete Setupを押下します。

mys_ent_monitor_003

MySQL Enterprise Server Monitorの日本語化

以下、日本語化の方法について説明します。ユーザ名, User Preferencesの順に押下します。

mys_ent_monitor_004

Localeを「日本語」に設定し、Saveを押下します。

mys_ent_monitor_005

MySQL Enterprise Server Monitorの動作確認

MySQLサーバ1台のみの監視ならば、Enterprise Monitorのみで(Enterprise Agentなしで)監視を実現できます。適当なボタンを押下し、監視データを取得できている事を確認します。

mys_ent_monitor_006

MySQL Enterprise Monitor Agentのインストール

MySQL Enterprise Monitorで複数台の監視を行うには、Monitor Agentが必要になります。以下、Monitor Agentのインストール方法について説明します。

Enterprise Monitor Agentをダウンロードし、zipファイルを展開します。すると、以下のようなファイルが作成されます。

mysqlmonitoragent-3.0.18.3095-linux-x86-64bit-installer.binというファイルを実行します。GUI環境ならばインストーラーが起動し、CLI環境ならば対話式のインストールが開始されます。

インストール時に使用する言語を選びます。日本語版はテスト不十分である事が多く、思わぬ不具合に遭遇する可能性が高いです。従って、私は”Engilish”を強く推奨します。

データベースへの接続方法を、TCP/IP通信, socket通信の2択から選びます。ローカルホスト内部の通信ならばsocketの方がオーバーヘッドが少なくお勧めできますが、ここは不要な不具合遭遇リスクを嫌い、敢えて公式手順書通りのTCP/IPを選択します。

Monitor Agentとデータベース間の接続設定を今行うか、それとも後程、GUI ( Server Manager ) 経由で行うかを選択します。ここは手順書通り、接続設定を今行う”2″を選択します。

インストールを開始するかどうかを問われます。Yを押下し、インストールを開始して下さい。

インストールが完了するまで待ちます。

MySQL Enterprise Monitor ( Server Monitor )との接続情報を入力します。”Agent Username”, “Agent Password”は、Server Monitor初回アクセス時に入力を求められたAgent側のユーザ名, パスワードです。

この後、Monitor Agentのインストーラーは、管理者, 一般, 限られた権限の3ユーザの入力を求めます。Monitor Agentはこの3ユーザを用いて、MySQLデータベースに接続します。

この3ユーザをmysqlのコンソールに接続し作成しましょう。以下設定例はかなり強い権限になっておりますが。最小限の権限を設定したい方は、公式な手順書を参照ください(と言っても、私が打鍵した限りでは、公式手順に記された手順は権限不足でした・・・。詳細は追い切れておりません。)。

Monitor AgentからMySQLデータベースへの接続情報を問われます。”Admin User”には、先ほど作成したユーザのユーザ名とパスワードを入力して下さい。

“GeneralUser”, “Limited User”には、先ほど作成したユーザのユーザ名とパスワードを入力して下さい。

なお、”Auto-Create Less Privileges Users”との説明が出力されますが、自動生成されるユーザは権限不足のため接続できません。上記手順のように、手作業で”GeneralUser”, “Limited User”を作成して下さい。

今まで設定した情報のサマリが表示されます。エンターキー押下で設定ファイルが自動生成されます。

以上でインストールおよび設定ファイルの作成が完了です。最後に、Readmeを表示するかどうかを聞かれますので、”N”を選択します。

Monitor, Agentの起動を行います。起動と同時に、Agent側の情報がMonitor Serverに送られます。

MySQL Enterprise Monitor Agentの動作確認

Monitor AgentがServer Monitorへ情報を送っている事を確認します。

Server Monitorにログインし、モニター, MySQL Instanceの順に押下します。監視対象が2 Instanceに増えている事を確認します。

mys_ent_monitor_agent_001

Tips

MySQL Enterprise Monitorの省リソース性について

MySQL Enterprise Monitorは省リソースという意味では、あまり優れていないようです。

このサイト「ネットワークチェンジニアとして」を動かしているMySQL Community Edition 5.6をMySQL Enterprise Monitorで試しに監視してみました。すると、今まで見たことがない程の、コネクション数とコマンド発行回数を記録しました。グラフで山状になっている部分がMySQL Enterprise Monitorで監視を行っていた期間です。

mys_ent_munin_001mys_ent_munin_002

監視ツールの中には省リソースを意識し、より少ないコマンド発行回数、より少ないコネクション数を目指しているものもあります。例えば、MySQL監視について言えば、DBforBIXblackbirdを挙げる事ができます。富豪的プログラミングが許されないような環境ならば、Enterprise Monitor以外のツールを検討しましょう。

動作確認環境

動作確認を行った環境は以下の通りです。

  • 動作確認日 : 2015/01/12
  • Redhat 6.5 ( Amazon Web Service )
  • MySQL Enterprise Database 5.6.22
  • MySQL Enterprise Monitor 3.0
  • MySQL Enterprise Backup 3.11.1
  • Enterprise Manager for MySQL Database 12.1.0.1.0

シェアする

  • このエントリーをはてなブックマークに追加

フォローする