この記事は、2015年「MySQLマニュアルを読む」アドベントカレンダーの24日目のぶんです.
MySQLサーバは、1台のマシン(というか、ひとつのOS)の上に複数立ち上げることができます。1台でレプリケーションの実験をしたり、複数のバージョンの動作を比較してみたい時などに便利です。
原理としては、データディレクトリとポートをそれぞれの mysqld プロセスごとに用意すれば良いわけですが、このあたりのことも、その他のオプションを含め、ちゃんとマニュアルにくわしく説明されています。
MySQL :: MySQL 5.7 Reference Manual :: 5.3 Running Multiple MySQL Instances on One Machine
5.3.1 Setting Up Multiple Data Directories 5.3.2 Running Multiple MySQL Instances on Windows 5.3.2.1 Starting Multiple MySQL Instances at the Windows Command Line 5.3.2.2 Starting Multiple MySQL Instances as Windows Services 5.3.3 Running Multiple MySQL Instances on Unix 5.3.4 Using Client Programs in a Multiple-Server Environment
基本的な事項の説明のほか、Windows/UNIX系 それぞれについての節が設けられています。
この章で説明されている手順で、手作業により複数の mysqld を実行することもできますが、複数立ち上げを助けてくれる、mysqld_multiというスクリプトもあります。
これは別の章にて説明されています。
MySQL :: MySQL 5.7 Reference Manual :: 4.3.4 mysqld_multi — Manage Multiple MySQL Servers
なお、この mysqld_multi は、UNIX系のみでなく、Windows版のアーカイブにも含まれています。mysqld_multi.pl という名前で、一応中身には Windows 用のパス定義が書かれていたりするので、ちゃんと動作することを意図したものだと思われます(動かしたことがないので、わからない)。
最近こういうのを全然試せていないので、落ち着いたら*1、試してみたいところです。「積ん試したいもの」が、こうして増えていく。。。
*1:と言っているといつまでも落ち着かないので「落ち着かせて」ですね