既存のカラムのCHARACTER SETを全部utf8mb4に変更する
utf8 → utf8mb4 とか! 既存のフィールドが100とかあったりするとちまちまやってられないのでsqlを生成する。
まずこうして
ALTER DATABASE hogedb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
それから
mysqldump -d hogedb |grep -E ' CHARACTER SET |CREATE TABLE'|sed \ -e 's/CHARACTER SET utf8/CHARACTER SET utf8mb4/' \ -e 's/ `/ MODIFY `/' \ -e 's/CREATE TABLE/ DEFAULT CHARACTER SET utf8mb4;\nALTER TABLE/' \ -e 's/($//' > alter.sql
すると
DEFAULT CHARACTER SET utf8mb4; ALTER TABLE `ofBookmark` DEFAULT CHARACTER SET utf8mb4; ALTER TABLE `ofBookmarkPerm` MODIFY `name` varchar(255) CHARACTER SET utf8mb4 NOT NULL, DEFAULT CHARACTER SET utf8mb4; ALTER TABLE `ofBookmarkProp` DEFAULT CHARACTER SET utf8mb4; ALTER TABLE `ofConParticipant` MODIFY `bareJID` varchar(200) CHARACTER SET utf8mb4 NOT NULL, MODIFY `jidResource` varchar(100) CHARACTER SET utf8mb4 NOT NULL, MODIFY `nickname` varchar(255) CHARACTER SET utf8mb4 DEFAULT NULL,
みたいなのが得られるので、それをいい感じに編集して実行するのじゃ