MAMP(MySQL)

MySQLのデータベースファイルをDropboxで共有して、他のPCでもMySQLのデータベースに気軽にアクセスできるようにする方法についての覚書です。

経緯

基本的にはメインPCでMySQLを動かす想定ですが、サブPCでも気軽にメインPCのMySQLデータベースにアクセスできるようにしたかった。

あとバックアップ的な観点で、手動でバックアップ作成する運用だと、突然PCのデータが読み込めなくなったとき困るので、データを常にオンラインストレージ上に置いておこうというところです。

想定:Windows PC間での共有

オンラインストレージのDropboxとMySQL(MAMP版)がインストールされている2台のWindows PC間でMySQLのデータを共有・同期させます。

今回は、MySQLの設定を変更してディレクトリを変更するのではなく、OSのシンボリックリンクを使って設定してみました。

ちなみに、複数のPCで同時にMySQLを起動するようなことは想定してません。MySQLに接続しないPCではMAMPのサービスを停止させておき、 MySQLに接続するPCでMAMPのサービスを実行させておく想定です。

また、文字コード等で面倒が起こると嫌なので、どちらのPCのMySQLも同じ設定を使用しています。

設定方法

  1. メインPC:MAMPが起動している場合は”Stop Servers”を押してサービスを停止する。コマンドプロンプトでMySQLにログインしている場合も念の為、”EXIT”でログアウトしておく。
  2. メインPC:”C:\MAMP\db”ディレクトリをDropbox上の任意のディレクトリに移動させる。
  3. メインPC:管理者権限でコマンドプロンプトを起動し、”mklink /d C:\MAMP\db D:\Dropbox\database\MAMP\db”コマンドを実行する。実行後、”C:\MAMP\”に”db”という名前でシンボリックリンクが作成される。
  4. メインPC:MAMPの”Start Servers”ボタンを押してサービスを起動し、MySQLが正常に立ち上がるか確認する。念の為、コマンドプロンプトからMySQLにログインできるかも確認する。
  5. サブPC:メインPCでDropboxに追加したMySQLのデータベースが同期完了となるのを待つ。
  6. サブPC: MAMPが起動している場合は”Stop Servers”を押してサービスを停止する。コマンドプロンプトでMySQLにログインしている場合も念の為、”EXIT”でログアウトしておく。
  7. サブPC: “C:\MAMP\db” ディレクトリを削除する。
  8. サブPC: 管理者権限でコマンドプロンプトを起動し、”mklink /d C:\MAMP\db C:\ユーザー\irail\Dropbox\database\MAMP\db”コマンドを実行する。実行後、”C:\MAMP\”に”db”という名前でシンボリックリンクが作成される。
  9. サブPC:MAMPの”Start Servers”ボタンを押してサービスを起動し、MySQLが正常に立ち上がるか確認する。念の為、コマンドプロンプトからMySQLにログインできるかも確認する。

動作確認:問題なし

同時にMySQLのサービスを実行させるとMySQLが上手く起動しなくなったりしますが、そういったことをしなければ問題なさそうです。

MySQLの公式的に同時アクセスする方法があるのかも知りませんが、とりあえず学習用途でMySQLを利用するにはひとまずこれで十分使えそうです。

MySQLのデータをDropboxでPC間共有する方法

コメントを残す