
рд╣рдордиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ MySQL 5.7 рд╕реЗ 8.0 рддрдХ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рд╣реИред
рдЖрдЗрдП рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рдХреЗ рдмрд╛рд╣рд░ рдЫреЛрдбрд╝реЗрдВ рдХрд┐ MySQL 8.0 рдореЗрдВ рдХреНрдпреЛрдВ рдФрд░ рдХреНрдпрд╛ рдирдП рдмрдиреНрд╕ рджрд┐рдЦрд╛рдИ рджрд┐рдП, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдЕрдкрдЧреНрд░реЗрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рд╣рдореЗрдВ рдХрд┐рди рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдпрд╣
рдкрд░рд┐рд╡рд░реНрддрди рдХреА
рд╕реВрдЪреА рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ рдЕрдкрдиреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИред
рдХрдо рд╕реЗ рдХрдо, рдирд┐рдореНрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
innodb_file_format, innodb_file_format_check, innodb_file_format_max, innodb_large_prefix
query_cache_limit, query_cache_min_res_unit, query_cache_size, query_cache_type, query_cache_wlock_invalidateред
Sql_mode рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, NO_AUTO_CREATE_USER рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдЬреЛ рдХрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ MySQL 5.7 рдореЗрдВ, рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЪрд╛рд▓реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдкреЗрд░рдХреЛрдирд╛ рдореЗрдВ рдЗрди-рдкреНрд▓реЗрд╕ рдЕрдкрдЧреНрд░реЗрдб рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВред рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдЗрд╕рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдо рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ, рдмрд╛рдХреА рдХреЗ рд▓рд┐рдП, рдЗрд╕реА рддрд░рд╣ рдХреА рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рд╡рд┐рдлрд▓ рд░рд╣рд╛:
2019-06-22T05:04:18.510888Z 1 [ERROR] [MY-011014] [Server] Found partially upgraded DD. Aborting upgrade and deleting all DD tables. Start the upgrade process again. 2019-06-22T05:04:23.115018Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed. 2019-06-22T05:04:23.115655Z 0 [ERROR] [MY-010119] [Server] Aborting
рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рдПрдХ рдирдпрд╛ рдЦрд╛рд▓реА рдЙрджрд╛рд╣рд░рдг рдЙрдард╛рдХрд░ рдФрд░ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдбрдВрдк рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рд╢реЗрд╖ рд╕рдореВрд╣реЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдбрдВрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рдпрд╣рд╛рдВ рдЦрддрд░реЗ # 1 рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рд╣реИ - рдорд╛рдирдХ рддрд░реАрдХреЗ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдПрдХ рдбрдВрдк:
mysqldump -u root -p --hex-blob --default-character-set=utf8mb4 --all-databases --triggers --routines --events > dump.sql
рдпрд╣ рддреНрд░реБрдЯрд┐ рджреЗрдиреЗ рд╕реЗ рдирд╣реАрдВ рдЙрдмрд░рддрд╛ рд╣реИ:
ERROR 3554 (HY000) at line 15915: Access to system table 'mysql.innodb_index_stats' is rejected.
рд╡рд┐рд╡рд░рдг
MySQL рдмрдЧрдЯреНрд░реИрдХрд░ рдореЗрдВ рд╣реИ (рд╕реНрдерд┐рддрд┐ рдмрдЧ рдирд╣реАрдВ :) рдХреЗ рд╕рд╛рде, рдбрдВрдк рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рднреА рд╕рд▓рд╛рд╣ рджреА рдЧрдИ рд╣реИ рддрд╛рдХрд┐ рдЗрд╕реЗ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ:
mysqldump -u root -p --hex-blob --default-character-set=utf8mb4 --all-databases --triggers --routines --events --ignore-table=mysql.innodb_index_stats --ignore-table=mysql.innodb_table_stats > dump.sql
рд▓реЗрдХрд┐рди рдЬрдм рдЗрд╕ рддрд░рд╣ рдХреЗ рдбрдВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ, рдЕрдЧрд░ рдЗрд╕рдореЗрдВ рдЯреНрд░рд┐рдЧрд░реНрд╕ рдереЗ (рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдереЗ), рддреЛ рдЗрд╕ рддрд░рд╣ рдХреА рддреНрд░реБрдЯрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЦрддрд░реЗ # 2 рдХреА рдЙрдореНрдореАрдж рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:
ERROR 1231 (42000) at line 54: Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'
рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ MySQL рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЗ рд▓рд┐рдП sql_mode рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреН: MySQL рдЯреНрд░рд┐рдЧрд░ рдХреЗ рд▓рд┐рдП sql_mode рдорд╛рди рдХреЛ рдЙрд╕ рд╕рдордп рдмрдирд╛рддрд╛ рд╣реИ рдЬрдм рдпрд╣ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЙрд╕ рдорд╛рди рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рд╣рдореЗрд╢рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рддрджрдиреБрд╕рд╛рд░ рдПрдХ рдбрдВрдк рдореЗрдВ рдЗрд╕ рдореВрд▓реНрдп рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд┐рд╡рд░рдг рдХреА рдорджрдж рдХрд░реЗрдВ:
dev.mysql.com/doc/refman/8.0/en/create-trigger.html
рдЬрдм рдЯреНрд░рд┐рдЧрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ MySQL sql_mode рд╕рд┐рд╕реНрдЯрдо рд╡реЗрд░рд┐рдПрдмрд▓ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╣рдореЗрд╢рд╛ рдЯреНрд░рд┐рдЧрд░ рд╕реЗрдЯрд┐рдВрдЧ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп рдЪрд╛рд▓реВ рд╕рд░реНрд╡рд░ SQL рдореЛрдб рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛, рдмрд▓ рдореЗрдВ рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЯреНрд░рд┐рдЧрд░ рдмреЙрдбреА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╣рдо рдХреНрдпрд╛ рдХрд░реЗрдВ? рд╣рдо рд╕рдорд╛рдкреНрдд рдбрдВрдк рд╕реЗ рдмрд╕ NO_AUTO_CREATE_USER рдХреЛ рдХрд╛рдЯрддреЗ рд╣реИрдВред рд╕рдорд╛рди рдЖрджреЗрд╢:
sed "s/50003 SET sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER/50003 SET sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO/g" dump.sql > dump2.sql
рдЙрд╕рдХреЗ рдмрд╛рдж, рдбрдВрдк рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЦрддрд░реЗ # 3 рд╣рдореЗрдВ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ (рдХрд╛рдлреА рдЙрдореНрдореАрдж рдХреА рд╕рдЪреНрдЪрд╛рдИ) - рд╕рд┐рд╕реНрдЯрдо рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рд╕рдВрд╕реНрдХрд░рдг 5.7 рд╕реЗ рд░рд╛рдЬреНрдп рдореЗрдВ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд▓реЙрдЧ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВ:
[ERROR] [MY-013143] [Server] Column count of mysql.user is wrong. Expected 51, found 45. The table is probably corrupted
рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдиреБрднрд╡ рд╕реЗ, рдпрд╣ mysql_upgrad рдХреЛ рдЪрд▓рд╛рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рд▓реЗрдХрд┐рди рд╕рдВрд╕реНрдХрд░рдг 8.0.16 рдХреЗ рдмрд╛рдж рд╕реЗ - рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ mysql_upgrad рдХреЛ рдкрджрд╛рд╡рдирдд рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдм, рд╕рд┐рд╕реНрдЯрдо рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡рд┐рдХрд▓реНрдк
рдирд╡реАрдиреАрдХрд░рдг = рдмрд▓ рдХреЗ рд╕рд╛рде MySQL рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рддрд╛рдЬрд╛ рдЙрдмрдВрдЯреВ рдкрд░, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
systemctl set-environment MYSQLD_OPTS="--upgrade=FORCE"
рдлрд┐рд░ MySQL рдХреЛ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░реЗрдВред рдПрдХ рд╕рдлрд▓ рдЕрджреНрдпрддрди рдХреЗ рдмрд╛рдж, рдЗрд╕реЗ рд╣рдЯрд╛ рджреЗрдВ:
systemctl unset-environment MYSQLD_OPTS