ノラWEB屋 野良人(のらんど)- 個人営業のWEB屋さん

XAMPPの設定を複数台で共有する環境で起こったとエラーと解決策

2017年5月24日

PC買ってノート+デスクトップの制作環境にしました。XAMPP環境をクラウドストレージを通して同期して、どちらのPCでも同じ環境でいじれるようにしたのですが、その環境で起こったエラーの対応です。

XAMPPを複数台のPCで同期して開発環境を共有する

XAMPPをDropboxで同期する(シンボリックリンク編) | INCOMPLETE++

ここに書いてある通りにやります。ウルトラ分かりやすいので書いてある通りに作業すると書いてある通りの結果になりました。

MySQLが立ち上がらないエラー!

本題です。ある日突然なんか出ます。うへぇー。

往々にして、こういうトラブルはやる気を出した矢先に発生し、我々の出端を挫きます。

挫かれた出端はストレス状の物質となって血液を巡り脳の活動を阻害しますが、頑張って解決したウォーを使ってブログ等にウワァーすることで体外に排出できます。

では今から排出します。

エラーログの確認

とりあえずコントロールパネルを確認。

ポートが競合しているかもしれないよという雰囲気のことを言ってきます。たいていSkypeのせいなので、立ち上がっていたらいったん殺すと治ります。しかし残念ながら、今回はSkypeのせいではありませんでした。

エラーログを確認しろという雰囲気のことも言ってくるので、します。

MySQLのところの「Logs」を押します。開いたファイルの一番下のあたり、さっきエラーした時刻で[ERROR]と出ている行を探します。

mysql_error.log
[ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous tablespace mysql/innodb_index_stats-XXXXXX uses space ID: 2 at filepath: .\mysql\innodb_index_stats-xxxxx.ibd. Cannot open tablespace mysql/innodb_index_stats which uses space ID: 2 at filepath: .\mysql\innodb_index_stats.ibd

このようなエラーが出ていました。この下の方に何らかの解決策と思しき内容も書いてありますが、とりあえずこのエラーを見ます。

「XXXXX」とした部分にPCの名前が入っています。DropboxやOneDriveなどのクラウドストレージでファイルが競合した際に、ファイル名の末尾に付いてくるアレです。ここに気付くと概ねハハーンできます。

共有している「mysql\data」フォルダと、その下の「mysql\data\mysql」フォルダを覗くと…

ハハーン!

競合してコピーされたファイルが見つかりました。これらの競合ファイルを殺すと、無事MySQLを立ち上げることができました。良かった良かった。

こういうのも出た

mysql_error.log
InnoDB: Operating system error number 1920 in a file operation.

おかしーなーと思ってdataフォルダを確認すると、「利用可能性」のところが「オンラインのみ」となっているファイルがいくつかありました。ハハーン。

これはWin10以前のOneDriveで、ファイルをローカルに置かずにクラウドのみに置いてある状態のステータスです。右クリックから「オフラインで利用可能」に変更するとMySQLが立ち上がりました。

以上、クラウドストレージでXAMPPのファイルを共有している環境特有のエラーと解決策のメモでした。地味に2時間くらい悩まされました。せっかくなのでご参考になれば。

とりあえず書いたことで、出端が変質した物質は浄化された気がします。デトックス。

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