teraさん、ご連絡ありがとうございます。
ヘテムルさんのデータベースはMySQL5.6ですね。
ヘテムル側のphpMyAdminにて変数の画面で確認すると
innodb large prefix [ OFF ]
innodb file per table [ ON ]
innodb file format [ Barracuda ]
となっています。
ちなみにローカルホスト側では
MySQL5.7であり
innodb large prefix [ ON ]
innodb file per table [ ON ]
innodb file format [ Barracuda ]
となっています。
Re: 本番環境へのデータベース移設でエラー(max key length is 767 bytes)
2021年6月18日 at 2:53
どうもご連絡ありがとうございます!
ご紹介いただいた動画で言われたとおり、ローカル→ローカルでデプロイを試したら問題なくインポート出来ました。
ただし肝心な、ローカル→リモート(ヘテムル)で行うと、どう試しても同じエラーが出てしまいます。
pictronさんのアドバイズ通りmysqlのServer charsetがutf8であることはローカル側もリモート側も確認済みです。
ただ、変だなぁ?と思うのは、phpMyAdminの一般設定の画面において、Server connection collation(サーバ接続の照合順序)を、ローカル側ではut8_unicode_ciをポップアップから選択できるのですが、リモート側だとポップアップでut8_unicode_ciを選んでも切り替わらず、何故かutf8mb4_unicode_ciに即座に戻ってしまうのです。utf8mb4でサーバ接続の照合順序が固定されてしまいます。
このあたりの話は私が明るくなく、上記の現象が良いのか悪いのか分からないのですが、どうもリモート側に問題があるように思えます。しかしヘテムルではデータベースはサポート外の様なので、この先はもう正常なデプロイは無理かなと諦めかけています。
一応、リモート側のphpMyAdminの画像を添付します。
もし解決できるのなら嬉しいのですが…
Your post has been saved and will be published after approval by the forum moderator.
tera
Re: 本番環境へのデータベース移設でエラー(max key length is 767 bytes)
ヘムテルさん MySQL5.6 ?
phpMyAdmin の設定で
innodb_large_prefix
innodb_file_per_table
innodb_file_format=Barracuda
はどうでしょうか