Movable Type CMSプラットフォーム Movable Type
ドキュメントサイト

Movable Type 6 ManualMovable Type 6 マニュアル

データベースを utf8mb4 に変換する

最終更新日: 2021.08.26

Movable Type は 7 r.4607 / 6.6.0 にて、MySQL / MariaDB の utf8mb4 に対応いたしました。
これに伴い、これまで utf8 で運用してきたデータベースを utf8mb4 に変換するスクリプト(tools ディレクトリ内の utf8mb4_converter)をパッケージに同梱いたしました。
このスクリプトを利用することで、Movable Type でご利用のデータベースを utf8mb4 に対応させ、絵文字などの 4 バイト文字の利用が可能になります。
また、utf8mb4 のデータベースを 3 バイト utf8 に変換することも可能です。

必要環境

  • Movable Type 7 r.4703 / 6.7.3 以上のバージョン(utf8mb4_converter はこのバージョンからパッケージに同梱しています)
    ※MySQL のバージョンが 8.0.24 以上の場合は Movable Type 7 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 でデータベースを作成し、利用されている場合は、本スクリプトを利用する必要はありません。

本スクリプトに関するテクニカルサポートは提供しておりません。
サポート対応はありませんが、不具合報告などのレポートがありましたらテクニカルサポートまでお知らせください。