[15:58:19] Reedy: are these changes: https://gerrit.wikimedia.org/r/q/owner:reedy@wikimedia.org+message:start+is:open okay to merge? i'm talking to ashley who wants to backport some changes that have release notes, and we're having trouble figuring out where they should be added [16:44:22] Vulpix I just discovered something in the MySQL 8 docs much, much easier. You'd been helping me last week with my question regarding changing tables' default charsets from utf8 to utf8mb4 along with updating all of the affected. Columns. Instead of having to update every individual column across all six of my databases (around 270 in total), PLUS [16:44:23] changing every table's default charset, the docs appear to indicate I could just run a single command against each table that would fix everything: "ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8mb4;". That's coming from here: https://dev.mysql.com/doc/refman/8.4/en/alter-table.html#alter-table-character-set. Can you confirm that should work [16:44:23] for my needs? I'd certainly test to be sure, just wanted to sanity check the idea. [16:46:55] Hmm, actually the docs say it would change CHAR, VARCHAR, and TEXT columns, but I wonder if that would work on ENUMs as well. [16:48:48] justinl: good! charset is only for text columns. Enums are not (it maps to an integer internally, with just a dictionary of key-description to do the conversion) [16:50:04] The Aurora MySQL pre-upgrade validation checks do throw warnings for the ENUM columns as well, hence my concern about those. [16:53:35] e.g. `uploadstash.us_media_type` is one it warns about. https://www.mediawiki.org/wiki/Manual:Uploadstash_table [17:05:32] justinl: ok, the description of each value is indeed a text and subject for charset specification. Did you try the CONVERT TO CHARACTER SET statement but it didn't affect ENUM columns? [17:08:12] I hadn't tried it before my first message but I just did and it seems to have worked with an ENUM, at least based on the information in the `information_schema.columns` row for the table column I tested (`categorylinks.cl_type`). [17:08:31] The ENUM didn't change but the character set and collation for the column did. [17:11:01] So in theory, I should just be able to run a shell script that iterates over my `/root/.my.cnf.` files, uses `mysql ... -e "show create table $tblname"` to find the `utf8` tables, and run the convert command against those. [17:15:40] Most tables are already utf8 (showing as utf8mb3 in `show create table $tblname` output), but in my two oldest databases, many are historically still `latin1` and I don't want screw with that.