データベースを utf8mb4 に変換する
Movable Type は 7 r.4607 / 6.6.0 にて、MySQL / MariaDB の utf8mb4 に対応いたしました。
これに伴い、これまで utf8 で運用してきたデータベースを utf8mb4 に変換するスクリプト(tools ディレクトリ内の utf8mb4_converter)をパッケージに同梱いたしました。
このスクリプトを利用することで、Movable Type でご利用のデータベースを utf8mb4 に対応させ、絵文字などの 4 バイト文字の利用が可能になります。
必要環境
- Movable Type 8 r.4703 / 6.7.3 以上のバージョン(utf8mb4_converter はこのバージョンからパッケージに同梱しています)
※MySQL のバージョンが 8.0.24 以上の場合は Movable Type 8 r.5001 / 6.8.1 以上が必要 - utf8mb4 に対応した MySQL / MariaDB サーバー
※データベースサーバー側で utf8mb4 が利用できない場合、utf8mb4_converter でデータベースを変換しても utf8mb4 をご利用になれません。 - Perl スクリプトを実行できるコマンドライン環境
利用方法
utf8mb4_converter に以下のオプションを使用して対象のデータベース情報を設定し、コマンドライン上で実行します。
オプション
--host
データベースサーバーのホスト名を指定します。
--socket(または --mysql_socket)
データベースサーバーのソケットのパスを指定します。
--port
データベースサーバーのポート番号を指定します。
--db(または --dbname)
変換するデータベースの名前を指定します。
--user
データベースサーバーに接続するときのユーザー名を指定します。
--pass
データベースサーバーに接続するときのパスワードを指定します。
--collate
ALTER TABLE 実行時に Collation を指定します。(初期値は utf8mb4_general_ci)
--row_format
ALTER TABLE 実行時に Row Format を指定します。(初期値なし)
--verbose
実行時に詳細な出力をおこないます。
実行例
cd /path/to/movabletype
./tools/utf8mb4_converter --db データベース名 --user データベースユーザー名 --pass データベースパスワード
注意点
- 必ずデータベースのバックアップをおこなってから実行してください。
- utf8mb4 でデータベースを作成し、利用されている場合は、本スクリプトを利用する必要はありません。
本スクリプトに関するテクニカルサポートは提供しておりません。
サポート対応はありませんが、不具合報告などのレポートがありましたらテクニカルサポートまでお知らせください。
Movable Type クラウド版ではこのスクリプトを利用することはできません。