αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– MySQL (Percona Server) αž–αžΈ 5.7 αž‘αŸ… 8.0

αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– MySQL (Percona Server) αž–αžΈ 5.7 αž‘αŸ… 8.0

αžœαžŒαŸ’αžαž“αž—αžΆαž–αž˜αž·αž“αž“αŸ…αžŸαŸ’αž„αŸ€αž˜αž‘αŸ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αŸαžαž»αž•αž›αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αž‘αžΎαž„αž€αŸ†αžŽαŸ‚αž‘αŸ…αž€αŸ†αžŽαŸ‚αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž”αŸ†αž•αž»αžαžšαž”αžŸαŸ‹ MySQL αž€αŸ†αž–αž»αž„αž€αŸ’αž›αžΆαž™αž‡αžΆαž‚αž½αžšαž±αŸ’αž™αž‘αžΆαž€αŸ‹αž‘αžΆαž‰αž…αž·αžαŸ’αžαž€αžΆαž“αŸ‹αžαŸ‚αžαŸ’αž›αžΆαŸ†αž„αž‘αžΎαž„αŸ” αž˜αž·αž“αž™αžΌαžšαž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αž‘αŸ αž“αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αž˜αž½αž™αžšαž”αžŸαŸ‹αž™αžΎαž„ αžœαžΆαžŠαž›αŸ‹αž–αŸαž›αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž’αžΆαž”αŸ‹αžŠαŸαžαž…αž„αŸ’αž€αŸ„αž˜ Percona Server 5.7 αžŠαŸαž€αž€αŸ‹αž€αŸ’αžŠαŸ…αž‘αŸ…αž€αŸ†αžŽαŸ‚ 8αŸ” αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆ Ubuntu Linux 16.04 αŸ” αžšαž”αŸ€αž”αž’αž“αž»αžœαžαŸ’αžαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž”αŸ‚αž”αž“αŸαŸ‡αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž–αŸαž›αžœαŸαž›αžΆαžšαž„αž…αžΆαŸ†αžαž·αž…αž”αŸ†αž•αž»αž αž“αž·αž„αž”αž‰αŸ’αž αžΆαž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡αžŠαŸ‚αž›αž™αžΎαž„αž‡αž½αž”αž”αŸ’αžšαž‘αŸ‡αž’αŸ†αž‘αž»αž„αž–αŸαž›αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– - αž’αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž“αŸαŸ‡αŸ”

αž€αžΆαžšαžšαŸ€αž”αž…αŸ†

αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžŽαžΆαž˜αž½αž™αž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αŸ†αž“αž„αž‡αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžŸαžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΎαž„αžœαž·αž‰αŸ– αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹αž›αžΎαž’αž“αž’αžΆαž“αž”αŸ’αžšαž–αŸαž“αŸ’αž’ αž“αž·αž„αž€αžΆαžšαž€αŸ‚αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαžŸαž˜αŸ’αž’αžΆαžαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž αž½αžŸαžŸαž˜αŸαž™αŸ”

αž˜αž»αž“αž“αžΉαž„αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– αž™αžΎαž„αž–αž·αžαž‡αžΆαž“αžΉαž„αž™αŸ„αž„αž‘αŸ…αž›αžΎαž―αž€αžŸαžΆαžšαž•αŸ’αž›αžΌαžœαž€αžΆαžšαŸ–

αž αžΎαž™αž™αžΎαž„αžšαŸ€αž”αž…αŸ†αž•αŸ‚αž“αž€αžΆαžšαžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αŸ–

  1. αž€αŸ‚αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαŸ„αž™αž›αž»αž”αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž αž½αžŸαžŸαž˜αŸαž™αŸ”
  2. αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž—αžΆαž–αž†αž”αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ”
  3. αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ slave αžŠαŸ„αž™αžŠαŸ†αž‘αžΎαž„αž€αž‰αŸ’αž…αž”αŸ‹ percona-server-server.
  4. αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž˜αŸαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αž‰αŸ’αž…αž”αŸ‹αžŠαžΌαž…αž‚αŸ’αž“αžΆαŸ”

αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αž…αŸ†αžŽαž»αž…αž“αžΈαž˜αž½αž™αŸ—αž“αŸƒαž•αŸ‚αž“αž€αžΆαžš αž αžΎαž™αž˜αžΎαž›αžαžΆαžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαžαž»αžŸαŸ”

αžŸαŸ†αžαžΆαž“αŸ‹! αž“αžΈαžαž·αžœαž·αž’αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– MySQL cluster αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎ Galera αž˜αžΆαž“ subtleties αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αžœαžΆαžŠαŸ‚αž›αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αŸ” αž’αŸ’αž“αž€αž˜αž·αž“αž‚αž½αžšαž”αŸ’αžšαžΎαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž“αŸαŸ‡αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡αž‘αŸαŸ”

αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 1: αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹

MySQL αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαž€αž…αŸαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαŸ‚ 8 query_cache. αžαžΆαž˜αž–αž·αžαž‚αžΆαžαŸ‹αž‚αžΊαž‡αžΆ αž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸαžαžΆαž›αŸ‚αž„αž”αŸ’αžšαžΎ αžαŸ’αžšαž›αž”αŸ‹αž‘αŸ…αž€αŸ†αžŽαŸ‚ 5.7 αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž”αžΆαž“αž›αž»αž”αž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„. αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™ αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαžŠαž€αž…αŸαž‰αž“αžΌαžœαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŠαŸ‚αž›αž–αžΆαž€αŸ‹αž–αŸαž“αŸ’αž’αŸ” αž αžΎαž™β€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αžŠαžΆαž€αŸ‹β€‹αžŸαŸ†αžŽαžΎβ€‹αž€αŸ’αž“αž»αž„β€‹αžƒαŸ’αž›αžΆαŸ†αž„β€‹αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž’αŸ’αž“αž€β€‹αž₯αž‘αžΌαžœβ€‹αž’αžΆαž…β€‹αž”αŸ’αžšαžΎβ€‹αž§αž”αž€αžšαžŽαŸβ€‹αžαžΆαž„β€‹αž€αŸ’αžšαŸ…β€‹αž”αžΆαž“ - αž§αž‘αžΆαž αžšαžŽαŸ αž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈSQL.

αž•αž„αžŠαŸ‚αžšαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž˜αžΆαž“αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž αž½αžŸαžŸαž˜αŸαž™αž’αŸ†αž–αžΈ innodb_file_format. αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž“αŸ…αž€αŸ’αž“αž»αž„ MySQL 5.7 αžœαžΆαž’αžΆαž…αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž‘αž˜αŸ’αžšαž„αŸ‹ InnoDB αž“αŸ„αŸ‡αž€αŸ†αžŽαŸ‚αž‘αžΈ 8 αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžšαž½αž…αž αžΎαž™ αž˜αžΆαž“αžαŸ‚αž‘αž˜αŸ’αžšαž„αŸ‹ Barracuda αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”.

αž›αž‘αŸ’αž’αž•αž›αžšαž”αžŸαŸ‹αž™αžΎαž„αž‚αžΊαž€αžΆαžšαžŠαž€αž…αŸαž‰αž“αžΌαžœαž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸˆ

  • query_cache_type, query_cache_limit ΠΈ query_cache_size;
  • innodb_file_format ΠΈ innodb_file_format_max.

αžŠαžΎαž˜αŸ’αž”αžΈαž–αž·αž“αž·αžαŸ’αž™ αž™αžΎαž„αž“αžΉαž„αž”αŸ’αžšαžΎαžšαžΌαž”αž—αžΆαž– Docker αžšαž”αžŸαŸ‹ Percona ServerαŸ” αž™αžΎαž„αž“αžΉαž„αžŠαžΆαž€αŸ‹ server config αž“αŸ…αž€αŸ’αž“αž»αž„αžαž 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

αž”αž“αŸ’αž‘αžΆαžαŸ‹αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ– αž‘αžΆαŸ†αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž» Docker αž¬αž“αŸ…αž€αŸ’αž“αž»αž„αžαžαžŠαŸ‚αž›αž˜αžΆαž“αž€αŸ†αžŽαžαŸ‹αž αŸαžαž» - αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ - αž―αž€αžŸαžΆαžšαž˜αž½αž™αž“αžΉαž„αž›αŸαž…αž‘αžΎαž„αžŠαŸ‚αž›αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŠαŸ‚αž›αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαŸ”

αž“αŸαŸ‡αž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž™αžΎαž„αž˜αžΆαž“αŸ–

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: αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš

αž―αž€αžŸαžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž˜αžΆαž“αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž…αŸ†αž“αž½αž“ 2 αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαž–αž†αž”αž‚αŸ’αž“αžΆαŸ” αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž‡αž½αž™αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž—αžΆαž–αž†αž”αž‚αŸ’αž“αžΆαž“αŸƒαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αŸ”

αž…αžΌαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ mysqlcheck αž”αž»αžšαžΆαžŽαŸ” αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αžšαžαŸ‹αŸ–

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

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‚αŸ’αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αžƒαžΎαž‰αž‘αŸ αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αžΉαž„αž…αŸαž‰αžŠαŸ„αž™αž›αŸαžαž€αžΌαžŠ 0αŸ–

αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– MySQL (Percona Server) αž–αžΈ 5.7 αž‘αŸ… 8.0

αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αž αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαŸ‚αž‘αŸ†αž“αžΎαž”αž“αŸƒ MySQL mysql-shell (αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈ Percona αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αž‰αŸ’αž…αž”αŸ‹ 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 Server) αž–αžΈ 5.7 αž‘αŸ… 8.0

αž‡αžΆαž‘αžΌαž‘αŸ…αž‚αŸ’αž˜αžΆαž“αž’αŸ’αžœαžΈαžŸαŸ†αžαžΆαž“αŸ‹αž‘αŸ - αž˜αžΆαž“αžαŸ‚αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αž’αŸ†αž–αžΈαž€αžΆαžšαž’αŸŠαž·αž“αž€αžΌαžŠαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” (αž˜αžΎαž›β€‹αžαžΆαž„β€‹αž€αŸ’αžšαŸ„αž˜). αž›αž‘αŸ’αž’αž•αž›αžŸαžšαž»αž”αž“αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαŸ–

αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– MySQL (Percona Server) αž–αžΈ 5.7 αž‘αŸ… 8.0

αž™αžΎαž„αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαžαžΆαž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαž‚αž½αžšαžαŸ‚αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαŸ”

αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αž’αŸ†αž–αžΈαž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αžαžΆαž„αž›αžΎαžŠαŸ‚αž›αž”αž„αŸ’αž αžΆαž‰αž–αžΈαž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž’αŸŠαž·αž“αž€αžΌαžŠαŸ” αž€αžΆαžšαž–αž·αžαž‚αžΊαžαžΆ UTF-8 αž“αŸ…αž€αŸ’αž“αž»αž„ MySQL αžšαž αžΌαžαž˜αž€αžŠαž›αŸ‹αž–αŸαž›αžαŸ’αž˜αžΈαŸ—αž“αŸαŸ‡ αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆ "αž–αž·αž" UTF-8 αž‘αŸαŸ”αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαžœαžΆαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžαŸ‚ 3 αž”αŸƒαž‡αŸ†αž“αž½αžŸαž±αŸ’αž™ 4. αž“αŸ…αž€αŸ’αž“αž»αž„ MySQL 8 αž“αŸαŸ‡αž‘αžΈαž”αŸ†αž•αž»αž αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž‡αž½αžŸαž‡αž»αž›αžœαžΆαŸ”αŸ– αžˆαŸ’αž˜αŸ„αŸ‡αž€αŸ’αž›αŸ‚αž„αž€αŸ’αž›αžΆαž™ utf8 αž†αžΆαž”αŸ‹αŸ—αž“αŸαŸ‡αž“αžΉαž„αž“αžΆαŸ†αž‘αŸ…αžŠαž›αŸ‹αž€αžΆαžšαžŸαžšαžŸαŸαžšαž€αžΌαžŠ utf8mb4αž αžΎαž™αž‡αž½αžšαžˆαžšαž…αžΆαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžαžΆαžšαžΆαž„αž“αžΉαž„αž€αŸ’αž›αžΆαž™αž‡αžΆ utf8mb3. αž€αžΆαžšαž’αŸŠαž·αž“αž€αžΌαžŠαž”αž“αŸ’αžαŸ‚αž˜ utf8mb3 αž“αžΉαž„αžαŸ’αžšαžΌαžœαžŠαž€αž…αŸαž‰ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αŸαŸ‡αž‘αŸαŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™ αž™αžΎαž„αž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž€αŸ‚αž€αžΆαžšαž”αŸ†αž”αŸ’αž›αŸ‚αž„αž€αžΌαžŠαžšαž½αž…αž αžΎαž™αž“αŸ…αž›αžΎαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ DBMS αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžœαžΆαŸ”

αž•αŸ’αž“αŸ‚αž€αž‘αžΈ 3αŸ– αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ

αžαžΎαž˜αžΆαž“αž’αŸ’αžœαžΈαž’αžΆαž…αžαž»αžŸαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž˜αžΆαž“αž•αŸ‚αž“αž€αžΆαžšαžŠαŸαž†αŸ’αž›αžΆαžαžœαŸƒαž”αŸ‚αž”αž“αŸαŸ‡?.. αžŠαŸ„αž™αž™αž›αŸ‹αž™αŸ‰αžΆαž„αž…αŸ’αž”αžΆαžŸαŸ‹αžαžΆαž—αžΆαž–αžαž»αžŸαž”αŸ’αž›αŸ‚αž€αž‚αŸ’αž“αžΆαžαŸ‚αž„αžαŸ‚αž€αžΎαžαž‘αžΎαž„ αž™αžΎαž„αž”αžΆαž“αž’αŸ’αžœαžΎαž€αžΆαžšαž–αž·αžŸαŸ„αž’αž“αŸαž›αžΎαž€αžŠαŸ†αž”αžΌαž„αž›αžΎαž€αŸ’αžšαž»αž˜αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ MySQL αŸ”

αžŠαžΌαž…αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžšαž½αž…αž˜αž€αž αžΎαž™, αž―αž€αžŸαžΆαžšαž•αŸ’αž›αžΌαžœαž€αžΆαžš αž‚αŸ’αžšαž”αžŠαžŽαŸ’αžαž”αŸ‹αž”αž‰αŸ’αž αžΆαž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ MySQL αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž…αž˜αŸ’αž›αž„αŸ” αž…αŸ†αžŽαž»αž…αžŸαŸ†αžαžΆαž“αŸ‹αž‚αžΊαžαžΆαžŠαŸ†αž”αžΌαž„αž’αŸ’αž“αž€αž‚αž½αžšαžαŸ‚αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ (αž‘αžΆαžŸαž€αžš) αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈ MySQL 8 αž’αžΆαž…αž…αž˜αŸ’αž›αž„αž–αžΈαž€αŸ†αžŽαŸ‚αž˜αŸ 5.7 αŸ” αž€αžΆαžšαž›αŸ†αž”αžΆαž€αžαŸ’αž›αŸ‡αžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαž™αžΎαž„αž”αŸ’αžšαžΎαžšαž”αŸ€αž” មេ <-> αž˜αŸαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž˜αŸαž–αžΈαž…αž˜αŸ’αž„αžΆαž™αžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αŸ€αž” αž’αžΆαž…β€‹αž”αžΆαž“β€‹αžαŸ‚β€‹αž’αžΆαž“. αž“αŸ„αŸ‡αž‡αžΆαž€αžΆαžšαž–αž·αž αž…αžšαžΆαž…αžšαžŽαŸαž”αŸ’αžšαž™αž»αž‘αŸ’αž’αž‘αŸ…αž˜αž‡αŸ’αžˆαž˜αžŽαŸ’αžŒαž›αž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αž½αž™ αž αžΎαž™αž‘αžΈαž–αžΈαžšαž‚αžΊαž‡αžΆαž€αžΆαžšαž”αž˜αŸ’αžšαž»αž„αž‘αž»αž€αž˜αž½αž™αŸ”

topology αž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž“αŸαŸ‡αŸ–

αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– MySQL (Percona Server) αž–αžΈ 5.7 αž‘αŸ… 8.0

αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžαŸ’αžšαžΌαžœαžαŸ‚αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž…αž˜αŸ’αž›αž„ mysql αž…αž˜αŸ’αž›αž„ dc ្, mysql master dc ្ ΠΈ 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.

αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž™αžΎαž„αž˜αž·αž“αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž”αŸ‚αž”αž“αŸαŸ‡αž“αŸ…αž›αžΎ dev? αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αž˜αŸ’αž›αž„αž‡αžΆαž‘αŸ€αž„αž‘αžΆαžαŸ‹αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αž–αžΈαž•αž›αž·αžαž€αž˜αŸ’αž˜ - αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αžαžΆαžšαžΆαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžœαž·αž‰.

αž‡αžΆαž’αž€αž»αžŸαž› αž“αŸ…αž›αžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸαž’αŸ†αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αŸ‰αžΆαž„αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠ αž’αŸ’αž“αž€αž“αžΉαž„αž˜αž·αž“αž’αžΆαž…αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž™αž€ αž“αž·αž„αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž‡αžΆαžŸαž€αž›αž”αžΆαž“αž“αŸ„αŸ‡αž‘αŸαŸ” 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 Server) αž–αžΈ 5.7 αž‘αŸ… 8.0

αžšαžΌαž”αžαžαž’αŸαž€αŸ’αžšαž„αŸ‹αž”αž„αŸ’αž αžΆαž‰αž€αŸ’αžšαžΆαž αŸ’αžœ sawtooth αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαž”αžŽαŸ’αžαžΆαž‰αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ 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 αž€αžΆαž›αž–αžΈαž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αž†αŸ’αž“αžΆαŸ†αž˜αž»αž“ αž αžΎαž™αž‡αžΆαž€αž˜αŸ’αž˜αžŸαž·αž‘αŸ’αž’αž·αžšαž”αžŸαŸ‹αž€αž‰αŸ’αž…αž”αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αžŠαž€αž…αŸαž‰αŸ” αž€αžΆαžšαž›αž»αž”αž―αž€αžŸαžΆαžš αž“αž·αž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ apparmor αž‘αžΎαž„αžœαž·αž‰αž”αžΆαž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαŸ–

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

αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸαž…αž€αŸ’αžαžΈαžŸαž“αŸ’αž“αž·αžŠαŸ’αž‹αžΆαž“

αžŽαžΆαž˜αž½αž™ αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸαžŸαžΆαž˜αž‰αŸ’αž‰αž”αŸ†αž•αž»αž αž’αžΆαž…αž“αžΆαŸ†αž±αŸ’αž™αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαžŠαŸ‚αž›αž˜αž·αž“αž“αžΉαž€αžŸαŸ’αž˜αžΆαž“αžŠαž›αŸ‹αŸ” αž αžΎαž™β€‹αžŸαžΌαž˜αŸ’αž”αžΈαžαŸ‚β€‹αž€αžΆαžšβ€‹αž˜αžΆαž“β€‹αž•αŸ‚αž“αž€αžΆαžšβ€‹αž‚αž·αžβ€‹αž±αŸ’αž™β€‹αž”αžΆαž“β€‹αž›αŸ’αž’β€‹αž€αŸβ€‹αž˜αž·αž“β€‹αžαŸ‚αž„αžαŸ‚β€‹αž’αžΆαž“αžΆβ€‹αž“αžΌαžœβ€‹αž›αž‘αŸ’αž’αž•αž›β€‹αžŠαŸ‚αž›β€‹αžšαŸ†αž–αžΉαž„αž‘αž»αž€β€‹αžŠαŸ‚αžšβ€‹αŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž‚αž˜αŸ’αžšαŸ„αž„αž’αžΆαž”αŸ‹αžŠαŸαžαžŽαžΆαž˜αž½αž™ αž€αŸ’αžšαž»αž˜αžšαž”αžŸαŸ‹αž™αžΎαž„αž€αŸαž”αžΆαž“αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž•αž„αžŠαŸ‚αžšαž“αžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αž’αžΆαžαž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹ αžŠαŸ‚αž›αž’αžΆαž…αž€αžΎαžαž˜αžΆαž“αž‡αžΆαž›αž‘αŸ’αž’αž•αž›αž“αŸƒαžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αžαŸ’αž˜αžΈαŸ—αŸ”

αž αžΎαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž…αŸ’αž“αŸƒαž”αŸ’αžšαžŒαž·αžαž€αŸ’αžšαžΆαž αŸ’αžœαž·αž€αžŠαŸ‚αž›αž˜αž·αž“αž˜αžΆαž“αž‡αŸ†αž“αžΆαž‰αžœαž·αž‡αŸ’αž‡αžΆαž‡αžΈαžœαŸˆαž“αŸαŸ‡ αžαŸ’αž‰αž»αŸ†αž…αž„αŸ‹αž“αž·αž™αžΆαž™αž’αžšαž‚αž»αžŽαž™αŸ‰αžΆαž„αž‡αŸ’αžšαžΆαž›αž‡αŸ’αžšαŸ…αž…αŸ†αž–αŸ„αŸ‡ Percona αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αž›αž·αžαž•αž›αžŠαŸαž›αŸ’αž’αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ!

αž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž– MySQL (Percona Server) αž–αžΈ 5.7 αž‘αŸ… 8.0

PS

αžŸαžΌαž˜αž’αžΆαž“αž•αž„αžŠαŸ‚αžšαž“αŸ…αž›αžΎαž”αŸ’αž›αž€αŸ‹αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ–

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹