ื’ืจืกื” ื™ืฆื™ื‘ื” ืฉืœ MariaDB 10.4

ืœืื—ืจ ืฉื ื” ืฉืœ ืคื™ืชื•ื— ื•ืฉื™ืฉื” ืžื”ื“ื•ืจื•ืช ืžื•ืงื“ืžื•ืช ืžื•ึผื›ึธืŸ ืžื”ื“ื•ืจื” ื™ืฆื™ื‘ื” ืจืืฉื•ื ื” ืฉืœ ืกื ื™ืฃ DBMS ื—ื“ืฉ MariaDB 10.4, ืฉื‘ืชื•ื›ื• ืžืชืคืชื— ืขื ืฃ ืฉืœ MySQL ื”ืฉื•ืžืจ ืขืœ ืชืื™ืžื•ืช ืœืื—ื•ืจ ื• ืฉื•ื ื” ืฉื™ืœื•ื‘ ืฉืœ ืžื ื•ืขื™ ืื—ืกื•ืŸ ื ื•ืกืคื™ื ื•ื™ื›ื•ืœื•ืช ืžืชืงื“ืžื•ืช. ืชืžื™ื›ื” ื‘ืกื ื™ืฃ ื”ื—ื“ืฉ ืชื™ื ืชืŸ ืœืžืฉืš 5 ืฉื ื™ื, ืขื“ ื™ื•ื ื™ 2024.

ืคื™ืชื•ื— MariaDB ืžืคื•ืงื— ืขืœ ื™ื“ื™ ืงืจืŸ MariaDB ื”ืขืฆืžืื™ืช, ื‘ืขืงื‘ื•ืช ืชื”ืœื™ืš ืคื™ืชื•ื— ืคืชื•ื— ื•ืฉืงื•ืฃ ืœื—ืœื•ื˜ื™ืŸ ืฉืื™ื ื• ืชืœื•ื™ ื‘ืกืคืงื™ื ื‘ื•ื“ื“ื™ื. MariaDB ืžืกื•ืคืง ื‘ืžืงื•ื MySQL ื‘ื”ืคืฆื•ืช ืœื™ื ื•ืงืก ืจื‘ื•ืช (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) ื•ื”ื•ื˜ืžืขื” ื‘ืคืจื•ื™ืงื˜ื™ื ื’ื“ื•ืœื™ื ื›ืžื• ื•ื™ืงื™ืคื“ื™ื”, SQL Cloud ืฉืœ Google ะธ Nimbuzz.

ืžืคืชื— ืฉื™ืคื•ืจื™ื MariaDB 10.4:

  • ื›ื•ืœืœ ื˜ื›ื ื•ืœื•ื’ื™ื™ืช ืฉื›ืคื•ืœ ืžืจื•ื‘ืช ืžืืกื˜ืจ ืกื™ื ื›ืจื•ื ื™ืช ื’ืœืจื” 4, ื”ืžืืคืฉืจืช ื˜ื•ืคื•ืœื•ื’ื™ื” ืžืจื•ื‘ืช ืžืืกื˜ืจ ืืงื˜ื™ื‘ื™ืช-ืืงื˜ื™ื‘ื™ืช ืฉื ื™ืชืŸ ืœืงืจื•ื ื•ืœื›ืชื•ื‘ ืขืœ ื™ื“ื™ ื›ืœ ืฆื•ืžืช. ืขื ืฉื›ืคื•ืœ ืกื™ื ื›ืจื•ื ื™, ื›ืœ ื”ืฆืžืชื™ื ืชืžื™ื“ ืžื›ื™ืœื™ื ื ืชื•ื ื™ื ืขื“ื›ื ื™ื™ื, ื›ืœื•ืžืจ. ืœื ืžื•ื‘ื˜ื—ื•ืช ืขืกืงืื•ืช ืื‘ื•ื“ื•ืช, ืฉื›ืŸ ื”ืขืกืงื” ืžืชื‘ืฆืขืช ืจืง ืœืื—ืจ ืฉื”ื ืชื•ื ื™ื ื”ื•ืคืฆื• ืœื›ืœ ื”ืฆืžืชื™ื. ืฉื›ืคื•ืœ ืžื‘ื•ืฆืข ื‘ืžืฆื‘ ืžืงื‘ื™ืœ, ื‘ืจืžืช ื”ืฉื•ืจื”, ืชื•ืš ื”ืขื‘ืจืช ืžื™ื“ืข ืขืœ ืฉื™ื ื•ื™ื™ื ื‘ืœื‘ื“;
  • ื‘ืžืขืจื›ื•ืช ื“ืžื•ื™ื•ืช ื™ื•ื ื™ืงืก, ืชื•ืกืฃ ื”ืื™ืžื•ืช ืžื•ืคืขืœ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ unix_socket, ื”ืžืืคืฉืจ ืœืš ืœื”ืฉืชืžืฉ ื‘ื—ืฉื‘ื•ื ื•ืช ื”ืงื™ื™ืžื™ื ื‘ืžืขืจื›ืช ื›ื“ื™ ืœื”ืชื—ื‘ืจ ืœ-DBMS ื‘ืืžืฆืขื•ืช ืฉืงืข ื™ื•ื ื™ืงืก ืžืงื•ืžื™;
  • ื ื•ืกืฃ ื”ื–ื“ืžื ื•ืช ื”ืงืฆืืช ื—ื™ื™ื ืฉืœืžื™ื ืœืกื™ืกืžืช ื”ืžืฉืชืžืฉ, ื•ืœืื—ืจ ืžื›ืŸ ื”ืกื™ืกืžื” ืžืกื•ืžื ืช ื›ืคื’ ืชื•ืงืฃ. ื›ื“ื™ ืœื”ื’ื“ื™ืจ ืืช ืชืืจื™ืš ื”ืชืคื•ื’ื” ืฉืœ ื”ืกื™ืกืžื” ื‘ืคืขื•ืœื•ืช "CREATE USER" ื•-"ALTER USER", ื ื•ืกืฃ ื”ื‘ื™ื˜ื•ื™ "PASSWORD EXPIRE INTERVAL N DAY";
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื—ืกื™ืžื” ืžืฉืชืžืฉื™ DBMS ื“ืจืš ื”ื‘ื™ื˜ื•ื™ "AcCOUNT LOCK" ื‘ืคืขื•ืœื•ืช "CREATE USER" ื•-"ALTER USER";
  • ื‘ื™ืฆื•ืข ื‘ื“ื™ืงื•ืช ื”ืจืฉืื•ืช ื‘ืชืฆื•ืจื•ืช ืขื ืžืกืคืจ ืจื‘ ืฉืœ ืžืฉืชืžืฉื™ื ืื• ื›ืœืœื™ ื’ื™ืฉื” ื”ื•ืืฆื” ืžืฉืžืขื•ืชื™ืช;
  • ื”ื•ืคืกืง ื‘ืืžืฆืขื•ืช ื”ื˜ื‘ืœืื•ืช mysql.user ื•-mysql.host. ื”ื˜ื‘ืœื” mysql.global_priv ืžืฉืžืฉืช ื›ืขืช ืœืื—ืกื•ืŸ ื—ืฉื‘ื•ื ื•ืช ื•ื”ืจืฉืื•ืช ื’ืœื•ื‘ืœื™ื•ืช;
  • ะ’ ืชื•ืกืคื™ื ืื™ืžื•ืช ื”ื•ืกื™ืฃ ืชืžื™ื›ื” ื‘ื‘ื™ื˜ื•ื™ "SET PASSWORD";
  • ื ื•ืกืฃ ื”ื™ื›ื•ืœืช ืœื”ืฉืชืžืฉ ื‘ื™ื•ืชืจ ืžืคืœืื’ื™ืŸ ืื™ืžื•ืช ืื—ื“ ืขื‘ื•ืจ ื›ืœ ื—ืฉื‘ื•ืŸ, ืžื” ืฉื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื™ืžื•ืฉื™ ืœื”ืขื‘ืจื” ื”ื“ืจื’ืชื™ืช ืฉืœ ืžืฉืชืžืฉื™ื ืืœ ื”ืคืœืื’ื™ืŸ ed25519. ื‘ืขืช ื™ืฆื™ืจืช ื”ืžืฉืชืžืฉ root@localhost ืขื ื”ืกืงืจื™ืคื˜ mysql_install_db, ืฉื ื™ ืชื•ืกืคื™ ืื™ืžื•ืช ืžื•ืคืขืœื™ื ื›ืขืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ - unix_socket ื•-mysql_native_password;
  • ื”ืื—ืกื•ืŸ ืฉืœ InnoDB ืžื™ื™ืฉื ืืช ื”ืคืขื•ืœื” ืฉืœ ืžื—ื™ืงื” ืžื™ื™ื“ื™ืช ืฉืœ ืขืžื•ื“ื•ืช (ALTER TABLE ... DROP COLUMN ... ALGORITHM=INSTANT) ื•ืฉื™ื ื•ื™ ืกื“ืจ ื”ืขืžื•ื“ื•ืช. ื”ื’ื•ื“ืœ ืฉืœ ื”ื™ื•ืžืŸ ื”ืจืืฉื•ื ื™ ืขื‘ื•ืจ ืคืขื•ืœื•ืช ื”ื—ื–ืจื” ืœืื—ื•ืจ (ื™ื•ืžืŸ ืžื—ื“ืฉ) ื”ืฆื˜ืžืฆื. ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืกื™ื‘ื•ื‘ ืžืคืชื— ืขื‘ื•ืจ innodb_encrypt_log. ื”ื˜ืžืขืช ืืœื’ื•ืจื™ืชื ืœื‘ื“ื™ืงืช ืกื›ื•ืžื™ ื‘ื™ืงื•ืจืช
    innodb_checksum_algorithm=full_crc32. ืžืกืคืง ื”ืจื—ื‘ื” ืžื™ื™ื“ื™ืช ืžืกื•ื’ VARCHAR ื•ืฉื™ื ื•ื™ ืงื™ื“ื•ื“ ื”ื˜ืงืกื˜ ืขื‘ื•ืจ ืขืžื•ื“ื•ืช ืฉืื™ื ืŸ ืฆืžื•ื“ื•ืช ืœืื™ื ื“ืงืก;

  • ืžื™ื™ืขืœ ืžืฉื•ืคืจ. ื ื•ืกืคื” ืืช ื”ื™ื›ื•ืœืช ืœืขืงื•ื‘ ืื—ืจ ื”ืื•ืคื˜ื™ืžื™ื–ืฆื™ื”, ืžื•ืคืขืœืช ื‘ืืžืฆืขื•ืช ืžืฉืชื ื” ืžืขืจื›ืช ืื•ืคื˜ื™ืžื™ื–ืฆื™ื”-ืžืขืงื‘. ื‘ึผึฐืจึดื™ืจึทืช ืžึถื—ื“ึธืœ ื›ืœื•ืœ ืฉืžื™ืจื” ืขืœ ืกื˜ื˜ื™ืกื˜ื™ืงื” ื‘ืœืชื™ ืชืœื•ื™ื” ื‘ืžื ื•ืขื™ ืื—ืกื•ืŸ.
    ื™ืฉื ื ืฉื ื™ ืžืฆื‘ื™ use_stat_tables ื—ื“ืฉื™ื - COMPLEMENTARY_FOR_QUERIES ื•-PREFERABLY_FOR_QUERIES. ืžืฆื‘ optimize_join_buffer_size ืžื•ืคืขืœ. ื ื•ืกืคื• ื—ื“ืฉื™ื ื“ื’ืœื™ื rowid_filter ื•-condition_pushdown_from_having;

  • ื”ืชืžื™ื›ื” ื‘ื˜ื‘ืœืื•ืช ืขื ื’ืจืกืื•ืช ืžืขืจื›ืช, ืืฉืจ ืœื ืจืง ืžืื—ืกื ื•ืช ืืช ืคืจื•ืกืช ื”ื ืชื•ื ื™ื ื”ื ื•ื›ื—ื™ืช, ืืœื ื’ื ืฉื•ืžืจืช ืžื™ื“ืข ืขืœ ื›ืœ ื”ืฉื™ื ื•ื™ื™ื ืฉื‘ื•ืฆืขื• ื‘ืขื‘ืจ, ื”ื•ืจื—ื‘ื” ืคืขื•ืœื•ืช ืขื ื˜ื•ื•ื—ื™ ื–ืžืŸ;
  • ื ื•ืกืคื” ืคืงื•ื“ืช "FLUSH SSL" ื—ื“ืฉื” ืœื˜ืขื™ื ื” ืžื—ื“ืฉ ืฉืœ ืื™ืฉื•ืจื™ SSL ืžื‘ืœื™ ืœื”ืคืขื™ืœ ืžื—ื“ืฉ ืืช ื”ืฉืจืช;
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ื‘ื™ื˜ื•ื™ื™ื "IF NOT EXISTS" ื•-"IF EXISTS" ื‘ืคืขื•ืœื•ืช "ื”ืชืงื ืช ืคืœืื’ื™ืŸ", "ื”ืกืจ ืชื•ืกืฃ" ื•"ื”ืกืจ ืืช SONAME";
  • ืžื•ืฆืขื•ืช ื˜ื‘ืœืื•ืช ืžืขืจื›ืช ืขืžื™ื“ื•ืช ืœื”ืชืจืกืงื•ืช, ืœืื—ืกื•ืŸ ื‘ื”ืŸ ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืžื ื•ืข ืืจื™ื”;
  • ื”ืžืขื‘ืจ ืœืฉื™ืžื•ืฉ ื‘ืชืงืŸ C++11 ื ืขืฉื” (ื›ืจื•ื›ื™ื ื‘ืคืขื•ืœื•ืช ืื˜ื•ืžื™ื•ืช);
  • ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืžืืคื™ื™ื ื™ ื”ืžืงื•ื Collation ืขื‘ื•ืจ Unicode ืฉื•ืคืจื• ืžืฉืžืขื•ืชื™ืช, ืžื” ืฉืžืืคืฉืจ ืœืš ืœืฆื™ื™ืŸ ื›ืœืœื™ ืžื™ื•ืŸ ื•ืฉื™ื˜ื•ืช ื”ืชืืžื” ืขืœ ืกืžืš ืžืฉืžืขื•ืช ื”ืชื•ื•ื™ื;
  • ื ื•ืกืฃ ืชื•ืกืฃ ืœื”ื’ื“ืจืช ืกื•ื’ื™ ืฉื“ื•ืช ืžืฉืœืš;
  • ื ื•ืกืคื” ืชืžื™ื›ื” ืขื‘ื•ืจ windowed ืคื•ื ืงืฆื™ื•ืช UDF (ืคื•ื ืงืฆื™ื•ืช ื‘ื”ื’ื“ืจืช ืžืฉืชืžืฉ);
  • ื‘ืคืขื•ืœืช "FLUSH TABLES". ืžื•ื˜ืžืข ืžืฆื‘ "ื ืขื™ืœืช ื’ื™ื‘ื•ื™", ืฉื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื• ื‘ืขืช ื’ื™ื‘ื•ื™ ืงื‘ืฆื™ ืžืกื“ ื ืชื•ื ื™ื;
  • ื ื•ืกืฃ ืชืžื™ื›ื” ื‘ืคืงื•ื“ื•ืช ืฉืจืช ืฉืžืชื—ื™ืœื•ืช ื‘-mariadb, ื—ืœื•ืคื•ืช ืœืคืงื•ื“ื•ืช ืฉืžืชื—ื™ืœื•ืช ื‘-"mysql" (ืœื“ื•ื’ืžื”, mariadump ื‘ืžืงื•ื mysqldump).

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”