MySQL (Percona рд╕рд░реНрд╡реНрд╣рд░) 5.7 рддреЗ 8.0 рдкрд░реНрдпрдВрдд рдЕрдкрдбреЗрдЯ рдХрд░рдд рдЖрд╣реЗ

MySQL (Percona рд╕рд░реНрд╡реНрд╣рд░) 5.7 рддреЗ 8.0 рдкрд░реНрдпрдВрдд рдЕрдкрдбреЗрдЯ рдХрд░рдд рдЖрд╣реЗ

рдкреНрд░рдЧрддреА рд╕реНрдерд┐рд░ рдирд╛рд╣реА, рддреНрдпрд╛рдореБрд│реЗ MySQL рдЪреНрдпрд╛ рдирд╡реАрдирддрдо рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдордзреНрдпреЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдгреНрдпрд╛рдЪреА рдХрд╛рд░рдгреЗ рдЕрдзрд┐рдХрд╛рдзрд┐рдХ рдЖрдХрд░реНрд╖рдХ рд╣реЛрдд рдЖрд╣реЗрдд. рдХрд╛рд╣реА рдХрд╛рд│рд╛рдкреВрд░реНрд╡реА, рдЖрдордЪреНрдпрд╛ рдПрдХрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдд, рдЖрд░рд╛рдорджрд╛рдпрдХ рдкрд░реНрдХреЛрдирд╛ рд╕рд░реНрд╡реНрд╣рд░ 5.7 рдХреНрд▓рд╕реНрдЯрд░реНрд╕ рдЖрд╡реГрддреНрддреА 8 рд╡рд░ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдЖрд▓реА рд╣реЛрддреА. рд╣реЗ рд╕рд░реНрд╡ рдЙрдмрдВрдЯреВ рд▓рд┐рдирдХреНрд╕ 16.04 рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рдШрдбрд▓реЗ. рдХрдореАрддрдХрдореА рдбрд╛рдЙрдирдЯрд╛рдЗрдорд╕рд╣ рдЕрд╕реЗ рдСрдкрд░реЗрд╢рди рдХрд╕реЗ рдХрд░рд╛рд╡реЗ рдЖрдгрд┐ рдЕрджреНрдпрддрдирд╛рджрд░рдореНрдпрд╛рди рдЖрдореНрд╣рд╛рд▓рд╛ рдХреЛрдгрддреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рдЖрд▓реНрдпрд╛ - рдпрд╛ рд▓реЗрдЦрд╛рдд рд╡рд╛рдЪрд╛.

рдкреНрд░рд╢рд┐рдХреНрд╖рдг

рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡реНрд╣рд░рдЪреЗ рдХреЛрдгрддреЗрд╣реА рдЕрджреНрдпрддрди рдмрд╣реБрдзрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреБрдирд░реНрд╕рдВрд░рдЪрдирд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЕрд╕рддреЗ: рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕рд╛рдзрдирд╛рд╡рд░реАрд▓ рдорд░реНрдпрд╛рджрд╛ рдЖрдгрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЙрдиреНрдлрд┐рдЧрдЪреНрдпрд╛ рд╕реБрдзрд╛рд░рдгреЗрд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХрддрд╛рдВрдордзреНрдпреЗ рдмрджрд▓ рдЬреНрдпрд╛рдВрдирд╛ рдХрд╛рд▓рдмрд╛рд╣реНрдп рдирд┐рд░реНрджреЗрд╢рд╛рдВрдкрд╛рд╕реВрди рдореБрдХреНрдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдЕрджреНрдпрдпрд╛рд╡рдд рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА, рдЖрдореНрд╣реА рдирд┐рд╢реНрдЪрд┐рддрдкрдгреЗ рдЕрдзрд┐рдХреГрдд рдХрд╛рдЧрджрдкрддреНрд░рд╛рдВрдЪрд╛ рд╕рдВрджрд░реНрдн рдШреЗрдК:

рдЖрдгрд┐ рдПрдХ рдХреГрддреА рдпреЛрдЬрдирд╛ рддрдпрд╛рд░ рдХрд░реВрдпрд╛:

  1. рдХрд╛рд▓рдмрд╛рд╣реНрдп рдирд┐рд░реНрджреЗрд╢ рдХрд╛рдвреВрди рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓реНрд╕ рджреБрд░реБрд╕реНрдд рдХрд░рд╛.
  2. рдЙрдкрдпреБрдХреНрддрддрд╛ рд╕рд╣ рд╕реБрд╕рдВрдЧрддрддрд╛ рддрдкрд╛рд╕рд╛.
  3. рдкреЕрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВрди рд╕реНрд▓реЗрд╡реНрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рд╛ percona-server-server.
  4. рддреНрдпрд╛рдЪ рдкреЕрдХреЗрдЬрд╕рд╣ рдорд╛рд╕реНрдЯрд░ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рд╛.

рдЪрд▓рд╛ рдпреЛрдЬрдиреЗрдЪреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреВрдХрдбреЗ рдкрд╛рд╣реВ рдЖрдгрд┐ рдХрд╛рдп рдЪреВрдХ рд╣реЛрдК рд╢рдХрддреЗ рддреЗ рдкрд╛рд╣реВ.

рдорд╣рддреНрд╡рд╛рдЪреЗ! Galera рд╡рд░ рдЖрдзрд╛рд░рд┐рдд MySQL рдХреНрд▓рд╕реНрдЯрд░ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреА рд╕реНрд╡рддрдГрдЪреА рд╕реВрдХреНрд╖реНрдорддрд╛ рдЖрд╣реЗ рдЬреНрдпрд╛рдЪреЗ рд▓реЗрдЦрд╛рдд рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╣реА. рдЖрдкрдг рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рд╣реА рд╕реВрдЪрдирд╛ рд╡рд╛рдкрд░реВ рдирдпреЗ.

рднрд╛рдЧ 1: рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рддрдкрд╛рд╕рдд рдЖрд╣реЗ

MySQL рдЖрд╡реГрддреНрддреА 8 рдордзреНрдпреЗ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рдд рдЖрд▓реЗ query_cache. рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рддреЛ рд╣реЛрддрд╛ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдШреЛрд╖рд┐рдд рдХреЗрд▓реЗ рдЖрд╡реГрддреНрддреА 5.7 рдордзреНрдпреЗ рдкрд░рдд, рдкрдг рдЖрддрд╛ рдкреВрд░реНрдгрдкрдгреЗ рд╣рдЯрд╡рд▓реЗ. рддреНрдпрд╛рдиреБрд╕рд╛рд░, рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рд░реНрджреЗрд╢ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЖрдгрд┐ рд╡рд┐рдирдВрддреНрдпрд╛ рдХреЕрд╢реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рдЖрддрд╛ рдмрд╛рд╣реНрдп рд╕рд╛рдзрдиреЗ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ - рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкреНрд░реЙрдХреНрд╕реАрдПрд╕рдХреНрдпреВрдПрд▓.

рддрд╕реЗрдЪ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рдХрд╛рд▓рдмрд╛рд╣реНрдп рдирд┐рд░реНрджреЗрд╢ рд╣реЛрддреЗ innodb_file_format. рдЬрд░ MySQL 5.7 рдордзреНрдпреЗ InnoDB рдлреЙрд░рдореЕрдЯ рдирд┐рд╡рдбрдгреЗ рд╢рдХреНрдп рдЕрд╕реЗрд▓, рддрд░ 8 рд╡реА рдЖрд╡реГрддреНрддреА рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдлрдХреНрдд рдмреЕрд░рд╛рдХреБрдбрд╛ рдлреЙрд░рдореЕрдЯрд╕рд╣.

рдЦрд╛рд▓реАрд▓ рдирд┐рд░реНрджреЗрд╢ рдХрд╛рдвреВрди рдЯрд╛рдХрдгреЗ рд╣рд╛ рдЖрдордЪрд╛ рдкрд░рд┐рдгрд╛рдо рдЖрд╣реЗ:

  • query_cache_type, query_cache_limit ╨╕ query_cache_size;
  • innodb_file_format ╨╕ innodb_file_format_max.

рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА Percona рд╕рд░реНрд╡реНрд╣рд░рдЪреА рдбреЙрдХрд░ рдкреНрд░рддрд┐рдорд╛ рд╡рд╛рдкрд░реВ. рдЖрдореНрд╣реА рдбрд┐рд░реЗрдХреНрдЯрд░реАрдордзреНрдпреЗ рд╕рд░реНрд╡реНрд╣рд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдареЗрд╡реВ mysql_config_test, рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛ рдкреБрдвреЗ рдЖрдореНрд╣реА рдбреЗрдЯрд╛ рдЖрдгрд┐ рд▓реЙрдЧрд╕рд╛рдареА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рддрдпрд╛рд░ рдХрд░реВ. Percona-рд╕рд░реНрд╡реНрд╣рд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЪрд╛рдЪрдгреА рдЙрджрд╛рд╣рд░рдг:

mkdir -p {mysql_config_test,mysql_data,mysql_logs}
cp -r /etc/mysql/conf.d/* mysql_config_test/
docker run  --name some-percona -v $(pwd)/mysql_config_test:/etc/my.cnf.d/  -v $(pwd)/mysql_data/:/var/lib/mysql/ -v $(pwd)/mysql_logs/:/var/log/mysql/ -e MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD} -d percona:8-centos

рддрд│ рдУрд│: рдПрдХрддрд░ рдбреЙрдХрд░ рд▓реЙрдЧрдордзреНрдпреЗ рдХрд┐рдВрд╡рд╛ рд▓реЙрдЧрд╕рд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдд - рддреБрдордЪреНрдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирд╡рд░ рдЕрд╡рд▓рдВрдмреВрди - рдПрдХ рдлрд╛рдЗрд▓ рджрд┐рд╕реЗрд▓ рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдирд┐рд░реНрджреЗрд╢рд╛рдВрдЪреЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЬрд╛рдИрд▓.

рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЬреЗ рд╣реЛрддреЗ рддреЗ рдпреЗрдереЗ рдЖрд╣реЗ:

2020-04-03T12:44:19.670831Z 0 [Warning] [MY-011068] [Server] The syntax 'expire-logs-days' is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
2020-04-03T12:44:19.671678Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2020-04-03T12:44:19.671682Z 0 [Warning] [MY-013244] [Server] --collation-server: 'utf8_general_ci' is a collation of the deprecated character set UTF8MB3. Please consider using UTF8MB4 with an appropriate collation instead.

рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдЖрдореНрд╣рд╛рд▓рд╛ рдЕрджреНрдпрд╛рдк рдПрдиреНрдХреЛрдбрд┐рдВрдЧреНрдЬ рд╢реЛрдзрдгреЗ рдЖрдгрд┐ рдХрд╛рд▓рдмрд╛рд╣реНрдп рдирд┐рд░реНрджреЗрд╢ рдкреБрдирд░реНрд╕реНрдерд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ expire-logs-days.

рднрд╛рдЧ реи: рдХрд╛рд░реНрдпрд░рдд рдкреНрд░рддрд┐рд╖реНрдард╛рдкрди рддрдкрд╛рд╕рдд рдЖрд╣реЗ

рдЕрджреНрдпрддрди рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдгрд╛рдордзреНрдпреЗ рд╕реБрд╕рдВрдЧрддрддреЗрд╕рд╛рдареА рдбреЗрдЯрд╛рдмреЗрд╕ рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА 2 рдЙрдкрдпреБрдХреНрддрддрд╛ рдЖрд╣реЗрдд. рддреНрдпрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдкреНрд░рд╢рд╛рд╕рдХрд╛рд╕ рд╡рд┐рджреНрдпрдорд╛рди рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдиреЗрдЪреА рд╕реБрд╕рдВрдЧрддрддрд╛ рддрдкрд╛рд╕рдгреНрдпрд╛рд╕ рдорджрдд рдХрд░рддреЛ.

рдЪрд▓рд╛ рдХреНрд▓рд╛рд╕рд┐рдХ mysqlcheck рдпреБрдЯрд┐рд▓рд┐рдЯреАрд╕рд╣ рдкреНрд░рд╛рд░рдВрдн рдХрд░реВрдпрд╛. рдлрдХреНрдд рдЪрд╛рд▓рд╡рд╛:

mysqlcheck -u root -p --all-databases --check-upgrade

рдХреЛрдгрддреАрд╣реА рд╕рдорд╕реНрдпрд╛ рди рдЖрдврд│рд▓реНрдпрд╛рд╕, рдпреБрдЯрд┐рд▓рд┐рдЯреА рдХреЛрдб 0 рд╕рд╣ рдмрд╛рд╣реЗрд░ рдкрдбреЗрд▓:

MySQL (Percona рд╕рд░реНрд╡реНрд╣рд░) 5.7 рддреЗ 8.0 рдкрд░реНрдпрдВрдд рдЕрдкрдбреЗрдЯ рдХрд░рдд рдЖрд╣реЗ

рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, MySQL рдЪреНрдпрд╛ рдЖрдзреБрдирд┐рдХ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдордзреНрдпреЗ рдПрдХ рдЙрдкрдпреБрдХреНрддрддрд╛ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ mysql-рд╢реЗрд▓ (рдкрд░реНрдХреЛрдирд╛рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рд╣реЗ рдкреЕрдХреЗрдЬ рдЖрд╣реЗ percona-mysql-shell). рд╣реЗ рдХреНрд▓рд╛рд╕рд┐рдХ mysql рдХреНрд▓рд╛рдпрдВрдЯрд╕рд╛рдареА рдмрджрд▓реА рдЖрд╣реЗ рдЖрдгрд┐ рдХреНрд▓рд╛рдпрдВрдЯрдЪреА рдХрд╛рд░реНрдпреЗ, SQL рдХреЛрдб рд╕рдВрдкрд╛рджрдХ рдЖрдгрд┐ MySQL рдкреНрд░рд╢рд╛рд╕рди рд╕рд╛рдзрдиреЗ рдПрдХрддреНрд░ рдХрд░рддреЗ. рдЕрдкрдбреЗрдЯ рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рд╕рд░реНрд╡реНрд╣рд░ рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рддреНрдпрд╛рджреНрд╡рд╛рд░реЗ рдЦрд╛рд▓реАрд▓ рдЖрджреЗрд╢ рдЪрд╛рд▓рд╡реВ рд╢рдХрддрд╛:

mysqlsh -- util check-for-server-upgrade { --user=root --host=1.1.1.1 --port=3306 } --config-path=/etc/mysql/my.cnf

рдЖрдореНрд╣рд╛рд▓рд╛ рдорд┐рд│рд╛рд▓реЗрд▓реНрдпрд╛ рдЯрд┐рдкреНрдкрдгреНрдпрд╛ рдпреЗрдереЗ рдЖрд╣реЗрдд:

MySQL (Percona рд╕рд░реНрд╡реНрд╣рд░) 5.7 рддреЗ 8.0 рдкрд░реНрдпрдВрдд рдЕрдкрдбреЗрдЯ рдХрд░рдд рдЖрд╣реЗ

рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдХрд╛рд╣реАрд╣реА рдЧрдВрднреАрд░ рдирд╛рд╣реА - рдлрдХреНрдд рдПрдиреНрдХреЛрдбрд┐рдВрдЧрдмрджреНрджрд▓ рдЪреЗрддрд╛рд╡рдгреА (рдЦрд╛рд▓реА рдкрд╣рд╛). рдПрдХреВрдг рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдкрд░рд┐рдгрд╛рдо:

MySQL (Percona рд╕рд░реНрд╡реНрд╣рд░) 5.7 рддреЗ 8.0 рдкрд░реНрдпрдВрдд рдЕрдкрдбреЗрдЯ рдХрд░рдд рдЖрд╣реЗ

рдЖрдореНрд╣реА рдард░рд╡рд▓реЗ рдХреА рдЕрджреНрдпрддрди рд╕рдорд╕реНрдпрд╛рдВрд╢рд┐рд╡рд╛рдп рдЬрд╛рд╡реЗ.

рдПрдиреНрдХреЛрдбрд┐рдВрдЧрдордзреАрд▓ рд╕рдорд╕реНрдпрд╛ рджрд░реНрд╢рд╡рд┐рдгрд╛рд░реА рд╡рд░реАрд▓ рдЗрд╢рд╛рд▒реНрдпрд╛рдВрдмрджреНрджрд▓рдЪреА рдПрдХ рдЯреАрдк. рд╡рд╕реНрддреБрд╕реНрдерд┐рддреА рдЕрд╢реА рдЖрд╣реЗ рдХреА рдЕрд▓реАрдХрдбреЗ рдкрд░реНрдпрдВрдд MySQL рдордзреНрдпреЗ UTF-8 UTF-8 "рд╕рддреНрдп" рдирд╡реНрд╣рддреЗ, рдХрд╛рд░рдг рддреЗ 3 рдРрд╡рдЬреА рдлрдХреНрдд 4 рдмрд╛рдЗрдЯ рд╕рдВрдЪрдпрд┐рдд рдХрд░рддреЗ. MySQL 8 рдордзреНрдпреЗ рд╣реЗ рд╢реЗрд╡рдЯреА рдЖрд╣реЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛: рдЙрд░реНрдл utf8 рд▓рд╡рдХрд░рдЪ рдХреЛрдбрд┐рдВрдЧрдХрдбреЗ рдиреЗрдИрд▓ utf8mb4, рдЖрдгрд┐ рдЯреЗрдмрд▓рдордзреАрд▓ рдЬреБрдиреЗ рд╕реНрддрдВрдн рдмрдирддреАрд▓ utf8mb3. рдкреБрдвреАрд▓ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ utf8mb3 рдХрд╛рдврд▓реЗ рдЬрд╛рдИрд▓, рдкрд░рдВрддреБ рдпрд╛ рдкреНрд░рдХрд╛рд╢рдирд╛рдд рдирд╛рд╣реА. рдореНрд╣рдгреВрди, рдЖрдореНрд╣реА рдЪрд╛рд▓реВ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдбреАрдмреАрдПрдордПрд╕ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рдирд╡рд░ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рдЕрдкрдбреЗрдЯ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рджреБрд░реБрд╕реНрдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛.

рднрд╛рдЧ 3: рд╕рд░реНрд╡реНрд╣рд░ рдЕрджреНрдпрддрдиреЗ

рдЕрд╢реА рд╕реНрдорд╛рд░реНрдЯ рдпреЛрдЬрдирд╛ рдЕрд╕рддрд╛рдирд╛ рдХрд╛рдп рдЪреВрдХ рд╣реЛрдК рд╢рдХрддреЗ?.. рдмрд╛рд░рдХрд╛рд╡реЗ рдиреЗрд╣рдореА рдШрдбрддрд╛рдд рд╣реЗ рдкреВрд░реНрдгрдкрдгреЗ рд╕рдордЬреВрди рдШреЗрдКрди, рдЖрдореНрд╣реА MySQL рдбреЗрд╡реНрд╣ рдХреНрд▓рд╕реНрдЯрд░рд╡рд░ рдкрд╣рд┐рд▓рд╛ рдкреНрд░рдпреЛрдЧ рдХреЗрд▓рд╛.

рдЖрдзреАрдЪ рдирдореВрдж рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдЕрдзрд┐рдХреГрдд рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рдкреНрд░рддрд┐рдХреГрддреАрд╕рд╣ MySQL рд╕рд░реНрд╡реНрд╣рд░ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╕рдорд╕реНрдпреЗрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ. рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрддреНрд╡рд╛рдЪреА рдУрд│ рдЕрд╢реА рдЖрд╣реЗ рдХреА рддреБрдореНрд╣реА рдкреНрд░рдердо рд╕рд░реНрд╡ рдкреНрд░рддрд┐рдХреГрддреА (рд╕реНрд▓реЗрд╡реНрд╣) рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд, рдХрд╛рд░рдг MySQL 8 рдорд╛рд╕реНрдЯрд░ рдЖрд╡реГрддреНрддреА 5.7 рд╡рд░реВрди рдкреНрд░рддрд┐рдХреГрддреА рдмрдирд╡реВ рд╢рдХрддреЗ. рдЖрдореНрд╣реА рдореЛрдб рд╡рд╛рдкрд░рддреЛ рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрдд рдХрд╛рд╣реА рдЕрдбрдЪрдг рдЖрд╣реЗ рдорд╛рд╕реНрдЯрд░ <-> рдорд╛рд╕реНрдЯрд░, рдЬреЗрд╡реНрд╣рд╛ рд░рд┐рдореЛрдЯ рдорд╛рд╕реНрдЯрд░ рдореЛрдбрдордзреНрдпреЗ рдЕрд╕рддреЛ рдлрдХреНрдд рд╡рд╛рдЪрд╛. рдореНрд╣рдгрдЬреЗрдЪ, рдЦрд░рдВ рддрд░, рд▓рдврд╛рдК рд░рд╣рджрд╛рд░реА рдПрдХрд╛ рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░рдХрдбреЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рджреБрд╕рд░рд╛ рдмреЕрдХрдЕрдк рдЕрд╕рддреЛ.

рдЯреЛрдкреЛрд▓реЙрдЬреА рдЕрд╕реЗ рджрд┐рд╕рддреЗ:

MySQL (Percona рд╕рд░реНрд╡реНрд╣рд░) 5.7 рддреЗ 8.0 рдкрд░реНрдпрдВрдд рдЕрдкрдбреЗрдЯ рдХрд░рдд рдЖрд╣реЗ

рдЕрджреНрдпрддрди рдкреНрд░рддрд┐рдХреГрддреАрдВрд╕рд╣ рд╕реБрд░реВ рд╣реЛрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ mysql рдкреНрд░рддрд┐рдХреГрддреА dc 2, mysql рдорд╛рд╕реНрдЯрд░ dc 2 ╨╕ mysql replica dc 1, рдЖрдгрд┐ mysql master dc 1 рд╕рд░реНрд╡реНрд╣рд░рд╕рд╣ рд╕рдорд╛рдкреНрдд рдХрд░рд╛. рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдиреНрд╕ рдерд╛рдВрдмрд╡рд▓реНрдпрд╛, рддреНрдпрд╛рдВрдЪреЗ рд╕реНрдиреЕрдкрд╢реЙрдЯ рдШреЗрддрд▓реЗ рдЖрдгрд┐ рдЕрдкрдбреЗрдЯрдЪреНрдпрд╛ рдЖрдзреА рдХрдорд╛рдВрдбрд╕рд╣ рдкреНрд░рддрд┐рдХреГрддреА рдерд╛рдВрдмрд╡рд▓реА STOP SLAVE. рдЙрд░реНрд╡рд░рд┐рдд рдЕрджреНрдпрддрди рдЕрд╕реЗ рджрд┐рд╕рддреЗ:

  1. рдХреЙрдиреНрдлрд┐рдЧрдордзреНрдпреЗ 3 рдкрд░реНрдпрд╛рдп рдЬреЛрдбреВрди рдЖрдореНрд╣реА рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рддрд┐рдХреГрддреА рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рддреЛ: skip-networking, skip-slave-start, skip-log-bin. рд╡рд╕реНрддреБрд╕реНрдерд┐рддреА рдЕрд╢реА рдЖрд╣реЗ рдХреА рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реНрдпрд╛рдиреЗ рд╕рд┐рд╕реНрдЯрдо рдЯреЗрдмрд▓рдЪреНрдпрд╛ рдЕрджреНрдпрддрдирд╛рдВрд╕рд╣ рдмрд╛рдпрдирд░реА рд▓реЙрдЧ рддрдпрд╛рд░ рд╣реЛрддрд╛рдд. рд╣реЗ рдирд┐рд░реНрджреЗрд╢ рд╣рдореА рджреЗрддрд╛рдд рдХреА рдбреЗрдЯрд╛рдмреЗрд╕рдордзреАрд▓ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрдЯрд╛рдордзреНрдпреЗ рдХреЛрдгрддреЗрд╣реА рдмрджрд▓ рд╣реЛрдгрд╛рд░ рдирд╛рд╣реАрдд рдЖрдгрд┐ рд╕рд┐рд╕реНрдЯрдо рдЯреЗрдмрд▓ рдЕрдкрдбреЗрдЯ рдХрд░рдгреНрдпрд╛рд╡рд┐рд╖рдпреА рдорд╛рд╣рд┐рддреА рдмрд╛рдпрдирд░реА рд▓реЙрдЧрдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реА рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реА. рд╣реЗ рдкреНрд░рддрд┐рдХреГрддреА рдкреБрдиреНрд╣рд╛ рд╕реБрд░реВ рдХрд░рддрд╛рдирд╛ рд╕рдорд╕реНрдпрд╛ рдЯрд╛рд│реЗрд▓.
  2. рдкреЕрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдд рдЖрд╣реЗ percona-server-server. рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрдгреЗ рдорд╣рддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ рдХреА MySQL рдЖрд╡реГрддреНрддреА 8 рдордзреНрдпреЗ рдирд╛рд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рдХрдорд╛рдВрдб рдЪрд╛рд▓рд╡рд╛рд╡реА рд▓рд╛рдЧреЗрд▓ mysqlupgrade рд╕рд░реНрд╡реНрд╣рд░ рдЕрджреНрдпрддрдирд╛рдирдВрддрд░.
  3. рдпрд╢рд╕реНрд╡реА рдкреНрд░рд╛рд░рдВрднрд╛рдирдВрддрд░, рдЖрдореНрд╣реА рд╕рд░реНрд╡реНрд╣рд░ рдкреБрдиреНрд╣рд╛ рд╕реБрд░реВ рдХрд░рддреЛ - рдкрд╣рд┐рд▓реНрдпрд╛ рдкрд░рд┐рдЪреНрдЫреЗрджрд╛рдордзреНрдпреЗ рдЬреЛрдбрд▓реЗрд▓реНрдпрд╛ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рд╢рд┐рд╡рд╛рдп.
  4. рдЖрдореНрд╣реА рдЦрд╛рддреНрд░реА рдХрд░рддреЛ рдХреА рдкреНрд░рддрд┐рдХреГрддреА рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рдХрд╛рд░реНрдп рдХрд░рддреЗ: рддрдкрд╛рд╕рд╛ SHOW SLAVE STATUS рдЖрдгрд┐ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрдЯрд╛рдмреЗрд╕рдордзреАрд▓ рдХрд╛рдЙрдВрдЯрд░рд╕рд╣ рдЯреЗрдмрд▓ рдЕрдкрдбреЗрдЯ рдХреЗрд▓реЗрд▓реЗ рдкрд╣рд╛.

рд╣реЗ рд╕рд░реНрд╡ рдЕрдЧрджреА рд╕реЛрдкреЗ рджрд┐рд╕рддреЗ: dev рдЕрджреНрдпрддрди рдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реЗ. рдареАрдХ рдЖрд╣реЗ, рддреБрдореНрд╣реА рдЙрддреНрдкрд╛рджрдирд╛рд╕рд╛рдареА рд░рд╛рддреНрд░реАрдЪреЗ рдЕрдкрдбреЗрдЯ рд╕реБрд░рдХреНрд╖рд┐рддрдкрдгреЗ рд╢реЗрдбреНрдпреВрд▓ рдХрд░реВ рд╢рдХрддрд╛.

рдХреЛрдгрддреЗрд╣реА рджреБрдГрдЦ рдирд╡реНрд╣рддреЗ - рдЖрдореНрд╣реА рдЙрддреНрдкрд╛рджрди рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реЗ

рддрдерд╛рдкрд┐, рдпрд╢рд╕реНрд╡реА рджреЗрд╡ рдЕрдиреБрднрд╡рд╛рдЪреЗ рдЙрддреНрдкрд╛рджрдирд╛рдд рд╣рд╕реНрддрд╛рдВрддрд░рдг рдЖрд╢реНрдЪрд░реНрдпрдХрд╛рд░рдХ рдирд╡реНрд╣рддреЗ.

рд╕реБрджреИрд╡рд╛рдиреЗ, рдЕрджреНрдпрддрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рддрдГрдЪ рдкреНрд░рддрд┐рдХреГрддреАрдВрдкрд╛рд╕реВрди рд╕реБрд░реВ рд╣реЛрддреЗ, рдореНрд╣рдгреВрди рдЬреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдЕрдбрдЪрдгреА рдЖрд▓реНрдпрд╛ рддреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣реА рдХрд╛рдо рдерд╛рдВрдмрд╡рд▓реЗ рдЖрдгрд┐ рд╕реНрдиреЕрдкрд╢реЙрдЯрдордзреВрди рдкреНрд░рддрд┐рдХреГрддреА рдкреБрдирд░реНрд╕рдВрдЪрдпрд┐рдд рдХреЗрд▓реА. рд╕рдорд╕реНрдпрд╛рдВрдЪреА рддрдкрд╛рд╕рдгреА рджреБрд╕рд▒реНрдпрд╛ рджрд┐рд╡рд╢реА рд╕рдХрд╛рд│рдкрд░реНрдпрдВрдд рдкреБрдвреЗ рдврдХрд▓рдгреНрдпрд╛рдд рдЖрд▓реА. рд▓реЙрдЧрдордзреНрдпреЗ рдЦрд╛рд▓реАрд▓ рдиреЛрдВрджреА рд╣реЛрддреНрдпрд╛:

2020-01-14T21:43:21.500563Z 2 [ERROR] [MY-012069] [InnoDB] table: t1 has 19 columns but InnoDB dictionary has 20 columns
2020-01-14T21:43:21.500722Z 2 [ERROR] [MY-010767] [Server] Error in fixing SE data for db1.t1
2020-01-14T21:43:24.208365Z 0 [ERROR] [MY-010022] [Server] Failed to Populate DD tables.
2020-01-14T21:43:24.208658Z 0 [ERROR] [MY-010119] [Server] Aborting

Google рд╡рд░реАрд▓ рд╡рд┐рд╡рд┐рдз рдореЗрд▓рд┐рдВрдЧ рд▓рд┐рд╕реНрдЯрдЪреНрдпрд╛ рд╕рдВрдЧреНрд░рд╣рдгрд╛рдВрдЪреЗ рд╕рдВрд╢реЛрдзрди рдХреЗрд▓реНрдпрд╛рдиреЗ рд╣реА рд╕рдорд╕реНрдпрд╛ рдЙрджреНрднрд╡рддреЗ рд╣реЗ рд╕рдордЬреВ рд╢рдХрд▓реЗ MySQL рдмрдЧ. рдЬрд░реА рд╣реЗ рдмрд╣реБрдзрд╛ рдпреБрдЯрд┐рд▓рд┐рдЯреА рдмрдЧ рдЖрд╣реЗ mysqlcheck ╨╕ mysqlsh.

рдЕрд╕реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА MySQL рдиреЗ рджрд╢рд╛рдВрд╢ рдлреАрд▓реНрдб (int, tinyint, рдЗ.) рд╕рд╛рдареА рдбреЗрдЯрд╛рдЪреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдгреНрдпрд╛рдЪреА рдкрджреНрдзрдд рдмрджрд▓рд▓реА рдЖрд╣реЗ, рдореНрд╣рдгреВрди mysql-server рддреНрдпрд╛рдВрдирд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рднрд┐рдиреНрди рдорд╛рд░реНрдЧ рд╡рд╛рдкрд░рддреЗ. рдЬрд░ рддреБрдордЪрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдЖрд╡реГрддреНрддреА 5.5 рдХрд┐рдВрд╡рд╛ 5.1 рдордзреНрдпреЗ рд╣реЛрддреА, рдЖрдгрд┐ рдирдВрддрд░ рддреБрдореНрд╣реА 5.7 рд╡рд░ рдЕрдкрдбреЗрдЯ рдХреЗрд▓реЗ, рдирдВрддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╣реЗ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ OPTIMIZE рдХрд╛рд╣реА рдЯреЗрдмрд▓рд╛рдВрд╕рд╛рдареА. рдирдВрддрд░ MySQL рдбреЗрдЯрд╛ рдлрд╛рдЗрд▓реНрд╕ рдЕрдкрдбреЗрдЯ рдХрд░реЗрд▓, рддреНрдпрд╛рдВрдирд╛ рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрд▓.

рдЖрдкрдг рд╣реЗ рдпреБрдЯрд┐рд▓рд┐рдЯреАрд╕рд╣ рджреЗрдЦреАрд▓ рддрдкрд╛рд╕реВ рд╢рдХрддрд╛ mysqlfrm:

mysqlfrm --diagnostic -vv /var/lib/mysql/db/table.frm
...
 'field_length': 8,
  'field_type': 246, # ╤Д╨╛╤А╨╝╨░╤В ╨┐╨╛╨╗╤П
  'field_type_name': 'decimal',
  'flags': 3,
  'flags_extra': 67,
  'interval_nr': 0,
 'name': 'you_deciaml_column',
...

рддрд░ field_type рдЬрд░ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рддреЗ 0 рдЪреНрдпрд╛ рдмрд░реЛрдмрд░реАрдЪреЗ рдЕрд╕реЗрд▓, рддрд░ рдЯреЗрдмрд▓рдордзреНрдпреЗ рдЬреБрдирд╛ рдкреНрд░рдХрд╛рд░ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рдИрд▓ - рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рдкрд╛рд░ рдкрд╛рдбрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ OPTIMIZE. рддрдерд╛рдкрд┐, рдЬрд░ рдореВрд▓реНрдп 246 рдЕрд╕реЗрд▓, рддрд░ рдЖрдкрд▓реНрдпрд╛рдХрдбреЗ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рдирд╡реАрди рдкреНрд░рдХрд╛рд░ рдЖрд╣реЗ. рдкреНрд░рдХрд╛рд░рд╛рдВрдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдорд╛рд╣рд┐рддреА рдордзреНрдпреЗ рдЖрдврд│реВ рд╢рдХрддреЗ рдХреЛрдб.

рд╢рд┐рд╡рд╛рдп, рдордзреНрдпреЗ рд╣рд╛ рдмрдЧ рдЖрдореНрд╣реА рджреБрд╕рд░реЗ рд╕рдВрднрд╛рд╡реНрдп рдХрд╛рд░рдг рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдд рдЖрд╣реЛрдд, рдЬреНрдпрд╛рдиреЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдорд╛рдЧреЗ рдЯрд╛рдХрд▓реЗ: рд╕рд┐рд╕реНрдЯрдо рдЯреЗрдмрд▓рдордзреНрдпреЗ InnoDB рдЯреЗрдмрд▓рдЪреА рдЕрдиреБрдкрд╕реНрдерд┐рддреА INNODB_SYS_TABLESPACES, рдЬрд░ рддреЗ, рдЯреЗрдмрд▓, рдЖрд╡реГрддреНрддреА 5.1 рдордзреНрдпреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЕрд╕реЗрд▓. рдЕрджреНрдпрддрдирд┐рдд рдХрд░рддрд╛рдирд╛ рд╕рдорд╕реНрдпрд╛ рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрдг рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ рд╕рдВрд▓рдЧреНрди SQL рд╕реНрдХреНрд░рд┐рдкреНрдЯ.

рджреЗрд╡рд╛рд╡рд░ рдЕрд╢реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЖрд▓реА рдирд╛рд╣реА? рдбреЗрдЯрд╛рдмреЗрд╕ рд╡реЗрд│реЛрд╡реЗрд│реА рдЙрддреНрдкрд╛рджрдирд╛рддреВрди рдХреЙрдкреА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ - рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдЯреЗрдмрд▓ рдкреБрдиреНрд╣рд╛ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.

рджреБрд░реНрджреИрд╡рд╛рдиреЗ, рдЦрд░реЛрдЦрд░ рдХрд╛рд░реНрдпрд░рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдореЛрдареНрдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕рд╡рд░, рдЖрдкрдг рдлрдХреНрдд рдПрдХ рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рдШреЗрдК рдЖрдгрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░реВ рд╢рдХрдгрд╛рд░ рдирд╛рд╣реА OPTIMIZE. percona-toolkit рдпреЗрдереЗ рдорджрдд рдХрд░реЗрд▓: pt-online-schema-change рдЙрдкрдпреБрдХреНрддрддрд╛ рдСрдирд▓рд╛рдЗрди OPTIMIZE рдСрдкрд░реЗрд╢рдирд╕рд╛рдареА рдЙрддреНрдХреГрд╖реНрдЯ рдЖрд╣реЗ.

рдЕрджреНрдпрдпрд╛рд╡рдд рдпреЛрдЬрдирд╛ рдпрд╛рд╕рд╛рд░рдЦреА рджрд┐рд╕рд▓реА:

  1. рд╕рд░реНрд╡ рдЯреЗрдмрд▓реНрд╕ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдХрд░рд╛.
  2. рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рд╛.

рддреЗ рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рддреНрдпрд╛рдЪ рд╡реЗрд│реА рдЕрджреНрдпрддрди рд╡реЗрд│ рд╢реЛрдзрдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдкреНрд░рддрд┐рдХреГрддреАрдВрдкреИрдХреА рдПрдХ рдЕрдХреНрд╖рдо рдХреЗрд▓реА рдЖрдгрд┐ рд╕рд░реНрд╡ рд╕рд╛рд░рдгреНрдпрд╛рдВрд╕рд╛рдареА рдЦрд╛рд▓реАрд▓ рдХрдорд╛рдВрдб рдЪрд╛рд▓рд╡рд▓реА:

pt-online-schema-change --critical-load Threads_running=150 --alter "ENGINE=InnoDB" --execute --chunk-size 100 --quiet --alter-foreign-keys-method auto h=127.0.0.1,u=root,p=${MYSQL_PASSWORD},D=db1,t=t1

рдЙрдкрдпреБрдХреНрддрддрд╛ рдПрдХ рдирд╡реАрди рддрд╛рддреНрдкреБрд░рддреА рд╕рд╛рд░рдгреА рддрдпрд╛рд░ рдХрд░рддреЗ рдЬреНрдпрд╛рдордзреНрдпреЗ рддреА рдореБрдЦреНрдп рд╕рд╛рд░рдгреАрдордзреАрд▓ рдбреЗрдЯрд╛ рдХреЙрдкреА рдХрд░рддреЗ рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрдореБрд│реЗ рд╕рд╛рд░рдгреНрдпрд╛ рд▓рд╛рдВрдмрд▓рдЪрдХ рд▓реЙрдХрд╢рд┐рд╡рд╛рдп рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд. рдпрд╛ рдХреНрд╖рдгреА рдЬреЗрд╡реНрд╣рд╛ рджреЛрдиреНрд╣реА рд╕рд╛рд░рдгреНрдпрд╛ рдПрдХрд╕рд╛рд░рдЦреНрдпрд╛ рдЕрд╕рддрд╛рдд, рддреЗрд╡реНрд╣рд╛ рдореВрд│ рдЯреЗрдмрд▓ рд▓реЙрдХ рдХреЗрд▓реЗрд▓реЗ рдЕрд╕рддреЗ рдЖрдгрд┐ рдирд╡реАрди рдЯреЗрдмрд▓рдиреЗ рдмрджрд▓рд▓реЗ рдЬрд╛рддреЗ. рдЖрдордЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдЪрд╛рдЪрдгреА рд░рдирдиреЗ рджрд░реНрд╢рд╡рд┐рд▓реЗ рдХреА рд╕рд░реНрд╡ рд╕рд╛рд░рдгреНрдпрд╛ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реБрдорд╛рд░реЗ рдПрдХ рджрд┐рд╡рд╕ рд▓рд╛рдЧреЗрд▓, рдкрд░рдВрддреБ рдбреЗрдЯрд╛ рдХреЙрдкреА рдХреЗрд▓реНрдпрд╛рдиреЗ рдбрд┐рд╕реНрдХрд╡рд░ рдЦреВрдк рдЬрд╛рд╕реНрдд рднрд╛рд░ рдЖрд▓рд╛.

рд╣реЗ рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА, рдЙрддреНрдкрд╛рджрдирд╛рдордзреНрдпреЗ рдЖрдореНрд╣реА рдХрдорд╛рдВрдбрдордзреНрдпреЗ рдпреБрдХреНрддрд┐рд╡рд╛рдж рдЬреЛрдбрд▓рд╛ --sleep 10 рдЪреНрдпрд╛ рдореВрд▓реНрдпрд╛рд╕рд╣ - рд╣реЗ рдкреЕрд░рд╛рдореАрдЯрд░ рдбреЗрдЯрд╛рдЪреНрдпрд╛ рдмреЕрдЪрд▓рд╛ рдирд╡реАрди рдЯреЗрдмрд▓рд╡рд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рд▓рд╛рдВрдмреА рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддреЗ. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рддреБрдореНрд╣реА рднрд╛рд░ рдХрдореА рдХрд░реВ рд╢рдХрддрд╛ рдЬрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЪрд╛рд▓реВ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рддрд┐рд╕рд╛рдж рд╡реЗрд│реЗрд╡рд░ рдорд╛рдЧрдгреА рдХрд░рдд рдЕрд╕реЗрд▓.

рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рдЕрджреНрдпрддрди рдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реЗ.

... рдкрдг рдкреВрд░реНрдгрдкрдгреЗ рдирд╛рд╣реА!

рдЕрджреНрдпрддрдирд╛рдирдВрддрд░ рдЕрд░реНрдзреНрдпрд╛ рддрд╛рд╕рд╛рдд, рдХреНрд▓рд╛рдпрдВрдЯ рд╕рдорд╕реНрдпрд╛ рдШреЗрдКрди рдЖрд▓рд╛. рдбреЗрдЯрд╛рдмреЗрд╕рдиреЗ рдЦреВрдк рд╡рд┐рдЪрд┐рддреНрд░рдкрдгреЗ рдХрд╛рд░реНрдп рдХреЗрд▓реЗ: рд╡реЗрд│реЛрд╡реЗрд│реА рддреЗ рд╕реБрд░реВ рдЭрд╛рд▓реЗ рдХрдиреЗрдХреНрд╢рди рд░реАрд╕реЗрдЯ. рдирд┐рд░реАрдХреНрд╖рдгрд╛рдордзреНрдпреЗ рд╣реЗ рдЕрд╕реЗ рджрд┐рд╕рддреЗ:

MySQL (Percona рд╕рд░реНрд╡реНрд╣рд░) 5.7 рддреЗ 8.0 рдкрд░реНрдпрдВрдд рдЕрдкрдбреЗрдЯ рдХрд░рдд рдЖрд╣реЗ

рдХрд╛рд╣реА MySQL рд╕рд░реНрд╡реНрд╣рд░ рдереНрд░реЗрдб рд╡реЗрд│реЛрд╡реЗрд│реА рддреНрд░реБрдЯреАрд╕рд╣ рдХреНрд░реЕрд╢ рдЭрд╛рд▓реНрдпрд╛рдореБрд│реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдПрдХ рд╕реЙрдЯреВрде рдЖрд▓реЗрдЦ рджрд░реНрд╢рд╡рд┐рддреЛ. рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдд рддреНрд░реБрдЯреА рджрд┐рд╕реВрди рдЖрд▓реНрдпрд╛:

[PDOException] SQLSTATE[HY000] [2002] Connection refused

рд▓реЙрдЧреНрд╕рдЪреНрдпрд╛ рджреНрд░реБрдд рддрдкрд╛рд╕рдгреАрд╡рд░реВрди рдЕрд╕реЗ рджрд┐рд╕реВрди рдЖрд▓реЗ рдХреА mysqld рдбрд┐рдорди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордХрдбреВрди рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╕рд╛рдзрдиреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА. рддреНрд░реБрдЯреАрдВрдЪреЗ рд╡рд░реНрдЧреАрдХрд░рдг рдХрд░рддрд╛рдирд╛, рдЖрдореНрд╣рд╛рд▓рд╛ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдЖрдврд│рд▓реЗ "рдЕрдирд╛рде" рдЕреЕрдкрд░реНрдорд░ рдкреЙрд▓рд┐рд╕реА рдлрд╛рдЗрд▓реНрд╕:

# dpkg -S /etc/apparmor.d/cache/usr.sbin.mysqld
dpkg-query: no path found matching pattern /etc/apparmor.d/cache/usr.sbin.mysqld
# dpkg -S /etc/apparmor.d/local/usr.sbin.mysqld
dpkg-query: no path found matching pattern /etc/apparmor.d/local/usr.sbin.mysqld
# dpkg -S /etc/apparmor.d/usr.sbin.mysqld
mysql-server-5.7: /etc/apparmor.d/usr.sbin.mysqld
# dpkg -l mysql-server-5.7
rc  mysql-server-5.7 5.7.23-0ubuntu0.16.04.1      amd64

рдпрд╛ рдлрд╛рдпрд▓реА рдХрд╛рд╣реА рд╡рд░реНрд╖рд╛рдВрдкреВрд░реНрд╡реА MySQL 5.7 рд╡рд░ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддрд╛рдирд╛ рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛ рд╣реЛрддреНрдпрд╛ рдЖрдгрд┐ рдХрд╛рдврд▓реЗрд▓реНрдпрд╛ рдкреЕрдХреЗрдЬрдЪреНрдпрд╛ рдЖрд╣реЗрдд. рдлрд╛рдпрд▓реА рд╣рдЯрд╡рд┐рдгреЗ рдЖрдгрд┐ рдЕреЕрдкрд░реНрдорд░ рд╕реЗрд╡рд╛ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХреЗрд▓реНрдпрд╛рдиреЗ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдЭрд╛рд▓реЗ:

systemctl stop apparmor
rm /etc/apparmor.d/cache/usr.sbin.mysqld
rm /etc/apparmor.d/local/usr.sbin.mysqld
rm /etc/apparmor.d/usr.sbin.mysqld
systemctl start apparmor

рд╢реЗрд╡рдЯреА

рдХреЛрдгрддреАрд╣реА, рдЕрдЧрджреА рд╕реЛрдкреА рдСрдкрд░реЗрд╢рдирдореБрд│реЗ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рд╕рдорд╕реНрдпрд╛ рдЙрджреНрднрд╡реВ рд╢рдХрддрд╛рдд. рдЖрдгрд┐ рд╕реБрд╡рд┐рдЪрд╛рд░рд┐рдд рдпреЛрдЬрдирд╛ рдЕрд╕рд▓реНтАНрдпрд╛рдиреЗрд╣реА рдиреЗрд╣рдореА рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдорд╛рдЪреА рд╣рдореА рдорд┐рд│рдд рдирд╛рд╣реА. рдЖрддрд╛, рдЖрдордЪреНрдпрд╛ рдХрд╛рд░реНрдпрд╕рдВрдШрд╛рдЪреНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЕрджреНрдпрдпрд╛рд╡рдд рдпреЛрдЬрдирд╛рдВрдордзреНрдпреЗ рдЕрд▓реАрдХрдбреАрд▓ рдХреГрддреАрдВрдЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдореА рджрд┐рд╕реВ рд╢рдХрдгрд╛рд▒реНрдпрд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓реНрд╕рдЪреА рдЕрдирд┐рд╡рд╛рд░реНрдп рд╕рд╛рдлрд╕рдлрд╛рдИрдЪрд╛ рджреЗрдЦреАрд▓ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ.

рдЖрдгрд┐ рдпрд╛ рдЕрддрд┐рд╢рдп рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЧреНрд░рд╛рдлрд┐рдХ рд╕рд░реНрдЬрдирд╢реАрд▓рддреЗрд╕рд╣, рдореА рдкрд░реНрдХреЛрдирд╛рд▓рд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрддреНрдкрд╛рджрдирд╛рдВрд╕рд╛рдареА рдЦреВрдк рдЦреВрдк рдзрдиреНрдпрд╡рд╛рдж рдореНрд╣рдгреВ рдЗрдЪреНрдЫрд┐рддреЛ!

MySQL (Percona рд╕рд░реНрд╡реНрд╣рд░) 5.7 рддреЗ 8.0 рдкрд░реНрдпрдВрдд рдЕрдкрдбреЗрдЯ рдХрд░рдд рдЖрд╣реЗ

PS

рдЖрдордЪреНрдпрд╛ рдмреНрд▓реЙрдЧрд╡рд░ рджреЗрдЦреАрд▓ рд╡рд╛рдЪрд╛:

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛