Nach der Migration von einer niedrigeren Version auf MySQL 8 kann es aufgrund von Zeichensatzproblemen zu illegalen Sortierfehlern (utf8mb4_general_ci,IMPLICIT) und (utf8mb4_0900_ai_ci,IMPLICIT) kommen. Zu diesem Zeitpunkt muss der Zeichensatz des Objekts geändert werden.
change_column_characset.sql
select concat('alter database ',schema_name,' default character set utf8mb4 collate utf8mb4_0900_ai_ci;') from information_schema.schemata where schema_name not in ('sys','mysql','performance_schema','information_schema') and lower(default_collation_name) in ('utf8mb4_general_ci','utf8_general_ci');
/home/mysql/mysql-8.0.16-linux-glibc2.12-x86_64/bin/mysql -uroot -h20.0.0.18 -P3306 -p70n6w+1XklMu -N < change_database_characset.sql > change_database_characset_result.sql /home/mysql/mysql-8.0.16-linux-glibc2.12-x86_64/bin/mysql -uroot -h20.0.0.18 -P3306 -p70n6w+1XklMu -f < change_database_characset_result.sql > change_database_characset_result.out 2>&1
Das obige ist der detaillierte Inhalt vonSo schreiben Sie ein Skript zum Batch-Ändern des Zeichensatzes in MySQL8. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!