ローカルな環境のXAMPPのMySQLのデータベースのテーブルをエクスポートして、XdomainのPHP・MySQLサーバーのデータベースに『shopping_db』というデータベースを作成し、ローカル環境のテーブルをインポートした際に起きたエラーです。
ローカル環境のMySQL側
下記のように左のサイドバーから『shopping_db』を選択します。
『shopping_db』のテーブル一覧が表示されたら、『エクスポート』を選択します。
『実行』を選択すると、SQLファイルがダウンロードされます。
これを、xdomain側のMySQLデータベースに適当なデータベースを作成し、そのデータベースを選択します。
XdomainのMySQL側
『インポート』を選択します。
『ファイルを選択』ボタンをクリックし、インポートしたいSQLファイルを選択し、『実行』ボタンをクリックします。
そうすると、
『Unknown character set: ‘utf8mb4’』というエラーが出てしまいました。
これは、データベースへの保存形式がutf8からutf8mb4に変更されていて、PHP5.6からPHP5.3環境に移行する場合にエラーが出るようです。
結論から言うと、Xdomainのサーバーで使われていたMySQLのバージョンが、ローカルで使っていたMySQLのバージョンより低いのが原因でした。
(※Xdomain側の無料レンタルサーバーのPHPのバージョンは、自分で更新しないと旧いままになってます。2016年1月時点では、PHP7も使えるみたいです。)
『サーバー管理パネル PHP・MySQLサーバー』>『PHPバージョン切り替え』で設定を切り替えれておくのがベストのようです。
ローカル環境(PHP5.6) ⇒ エクスポートの際、SQLがutf8mb4で保存されてしまう。
Xdomainサーバー(PHP5.3の状態) ⇒ utf8mb4は対応してないようです。
解決方法
ローカル環境のMySQLのデータベースからエクスポートしてダウンロードされたSQLファイルを適当なテキストエディター(今回はTeraPadを使用しました。)で開き、『置換』機能を使い、SQLファイル内の『utf8mb4』を『utf8』に全て置換し保存します。
その後、再インポートすればOKです。
⇩ データベースにインポートの際に気をつけることは下記サイトへ
・WPXから他サーバーに移転した時のDBエクスポート・インポートエラー回避方法。
追記
Xdomain側のPHPのバージョンを5.6にあげましたが、PHP5.3の時に作っていたデータベースは、utf8mb4に対応しないようなので、一旦データベースを削除して作りなおすか、インポートするSQLファイル内の『utf8mb4』を『utf8』に置換する必要がありそうです。
今回はこのへんで。