Oracle on loonud uue andmebaasi MySQL 8.4 ja avaldanud paranduse vÀrskenduse MySQL 8.0.37. MySQL Community Server 8.4.0 koostatakse kÔigi suurte Linuxi, FreeBSD, macOS ja Windows jaotiste jaoks. 8.4.0 vÀljalaskmine kuulub pikaajalise toe (LTS) harudesse, mida vÀljastatakse iga kahe aasta tagant ja toetatakse 5 aastat (pluss on vÔimalik saada veel 3 aastat pikendatud tuge).
MySQL 8.4.0 on neljas versioon, mis on loodud uue versioonimudeli raames, mis sisaldab kahte tĂŒĂŒpi MySQL harusid â "Innovation" ja "LTS". Innovation harud, kuhu kuuluvad MySQL 8.1, 8.2 ja 8.3, on soovitatavad neile, kes soovivad varakult pÀÀseda uutele funktsionaalsetele lahendustele. Need harud avaldatakse iga 3 kuu tagant ja toetatakse ainult jĂ€rgmise olulise versiooni avaldamiseni (nĂ€iteks pĂ€rast 8.4 haru ilmumist lĂ”petatakse 8.3 haru toetus). LTS harud on soovitatavad rakendustele, mis vajavad etteennustatavust ja pikaajalist muutumatut kĂ€itumist. PĂ€rast LTS haru loomist moodustatakse uus Innovation haru â MySQL 9.0.
Peamised muutused MySQL 8.4:
- Optimeerijasse on lisatud tugi histogrammide automaatseks vÀrskendamiseks, sÔltumatult vanema tabeli 'ANALYZE TABLE' toimingust. Automaatne vÀrskendamine aktiviseeritakse vÀljendi 'AUTO UPDATE' mÀÀramisega toimingu 'ANALYZE TABLE' kÀigus ning deaktiveeritakse vÀljendi 'MANUAL UPDATE', mis on vaikimisi kasutusel.
- Lisatud on valikud 'âkeyring-migration-from-component', 'âkeyring-migration-source' ja 'âkeyring-migration-destination' keyring komponente keyring pluginasse migreerimiseks.
- Uus privileeg FLUSH_PRIVILEGES on lisatud, mis erinevalt varasemast privileegist RELOAD annab kasutajale Ôigused ainult toimingu 'FLUSH PRIVILEGES' tÀitmiseks.
- Uus privileeg OPTIMIZE_LOCAL_TABLE on lisatud, vÔimaldades kasutajal tÀita toiminguid 'OPTIMIZE LOCAL TABLE' ja 'OPTIMIZE NO_WRITE_TO_BINLOG TABLE'.
- Vaikimisi on muudetud sĂŒsteemsete muutujate group_replication_consistency ja group_replication_exit_state_action vÀÀrtusi. Muutuja group_replication_consistency on nĂŒĂŒd seadistatud vÀÀrtusele BEFORE_ON_PRIMARY_FAILOVER asemel EVENTUAL ja muutuja group_replication_exit_state_action vÀÀrtusele OFFLINE_MODE asemel READ_ONLY.
- JÀtkudes on integreeritud OpenSSL teegi uus versioon 3.0.13, mis on kaasas toodud kokkuvÔtetes.
- MySQL 5.7 versioon 8.4 uuendamine on lĂ”petatud. MySQL 5.7-lt ĂŒlemiseks tuleb nĂŒĂŒd esmalt minna versioonile 8.0 ja seejĂ€rel uuendada versioonile 8.4.
- Muutusid InnoDB jÀrgmiste seadete vaikimisi vÀÀrtused: innodb_adaptive_hash_index, innodb_buffer_pool_in_core_file, innodb_buffer_pool_instances, innodb_change_buffering, innodb_doublewrite_files, innodb_doublewrite_pages, innodb_flush_method, innodb_io_capacity, innodb_io_capacity_max, innodb_log_buffer_size, innodb_numa_interleave, innodb_page_cleaners, innodb_parallel_read_threads, innodb_purge_threads, innodb_read_io_threads, innodb_use_fdatasync, temptable_max_ram, temptable_max_mmap ja temptable_use_mmap.
- Pakettide koostamise toetus on lisatud distributsioonidele Fedora 40 ja Ubuntu 24.04.
- Serveri plugin mysql_native_password, mis vĂ”imaldab paroolidega autentimist, on vaikimisi keelatud ja kuulutatud vananenuks. Soovitatav on ĂŒle minna pluginat caching_sha2_password kasutamisele, mis kasutab SHA2 algoritmi paroolide rĂ€simiseks, mitte SHA1. mysql_native_password toe tagastamiseks vĂ”ib kasutada valikut ââmysql-native-password=ONâ vĂ”i seadistust âmysql_native_password=ONâ.
- Toetatud on ainult TLS v1.2 ja TLSv1.3, algoritmid, mis tagavad edasise saladuse (forward secrecy), SHA2, krĂŒptograafilised algoritmid ja AES GCM vĂ”i AEAD reĆŸiimis. Ohtlike protokollide ja krĂŒptimisalgoritmide tugi on lĂ”petatud.
- Eemaldatud on SQL-laused, mis on seotud replikeerimisega, ja mis olid varasemalt deklareeritud aegunuks ebasobiva terminoloogia tÔttu: START SLAVE (kasutage START REPLICA); STOP SLAVE (kasutage STOP REPLICA); SHOW SLAVE STATUS (kasutage SHOW REPLICA STATUS); SHOW SLAVE HOSTS (SHOW REPLICAS); RESET SLAVE (RESET REPLICA); CHANGE MASTER TO (CHANGE REPLICATION SOURCE TO); RESET MASTER (RESET BINARY LOGS AND GTIDS); SHOW MASTER STATUS (SHOW BINARY LOG STATUS); PURGE MASTER LOGS (PURGE BINARY LOGS); SHOW MASTER LOGS (SHOW BINARY LOGS).
- Eelmised kuupĂ€evad, mis olid deklareeritud aegunuks, on eemaldatud vĂ€ljenditest âCHANGE REPLICATION SOURCE TOâ ja âSTART REPLICAâ, samuti sĂ”nadest âmasterâ, mis on asendatud sĂ”naga âsourceâ: SOURCE_AUTO_POSITION (kasutage SOURCE_AUTO_POSITION), SOURCE_HOST (kasutage SOURCE_HOST), SOURCE_BIND (kasutage SOURCE_BIND), SOURCE_USER (SOURCE_USER), SOURCE_PASSWORD (SOURCE_PASSWORD), SOURCE_PORT (SOURCE_PORT), SOURCE_CONNECT_RETRY (SOURCE_CONNECT_RETRY), SOURCE_RETRY_COUNT (SOURCE_RETRY_COUNT), SOURCE_DELAY (SOURCE_DELAY), SOURCE_SSL (SOURCE_SSL), SOURCE_SSL_CA (SOURCE_SSL_CA), SOURCE_SSL_CAPATH (SOURCE_SSL_CAPATH), SOURCE_SSL_CIPHER (SOURCE_SSL_CIPHER), SOURCE_SSL_CRL (SOURCE_SSL_CRL), SOURCE_SSL_CRLPATH (SOURCE_SSL_CRLPATH), SOURCE_SSL_KEY (SOURCE_SSL_KEY), SOURCE_SSL_VERIFY_SERVER_CERT (SOURCE_SSL_VERIFY_SERVER_CERT), SOURCE_TLS_VERSION (SOURCE_TLS_VERSION), SOURCE_TLS_CIPHERSUITES (SOURCE_TLS_CIPHERSUITES), SOURCE_SSL_CERT (SOURCE_SSL_CERT), SOURCE_PUBLIC_KEY_PATH (SOURCE_PUBLIC_KEY_PATH), GET_SOURCE_PUBLIC_KEY (GET_SOURCE_PUBLIC_KEY), SOURCE_HEARTBEAT_PERIOD (SOURCE_HEARTBEAT_PERIOD), SOURCE_COMPRESSION_ALGORITHMS (SOURCE_COMPRESSION_ALGORITHMS), SOURCE_ZSTD_COMPRESSION_LEVEL (SOURCE_ZSTD_COMPRESSION_LEVEL), SOURCE_LOG_FILE (SOURCE_LOG_FILE), SOURCE_LOG_POS (SOURCE_LOG_POS).
- Eemaldatud on sĂŒsteemimuutujad, kus kasutati sĂ”nu âmasterâ ja âslaveâ: Com_replica_start (kasutage Com_replica_start); Com_replica_stop (Com_replica_stop); Com_show_replica_status (Com_show_replica_status); Com_show_replicas (Com_show_replicas); Com_show_binary_log_status (Com_show_binary_log_status); ja Com_change_replication_source (Com_change_replication_source).
- Teatavad sĂŒsteemimuutujad group_replication_allow_local_lower_version_join on aegunud. Eemaldatud on varasemalt aegunuks kuulutatud valikud ââno-dd-upgradeâ, ââoldâ, âânewâ, ââlanguageâ, ââsslâ, ââadmin-sslâ ning muutujad binlog_transaction_dependency_tracking, group_replication_recovery_complete_at, avoid_temporal_upgrade, show_old_temporals ja default_authentication_plugin.
- Eemaldatud kasutamata tabel INFORMATION_SCHEMA.TABLESPACES.
- LĂ”petatud on LOW_PRIORITY vÀÀrtuse kasutamise toetus vĂ€ljendi âLOCK TABLES ⊠WRITEâ korral.
- LĂ”petatud on AUTO_INCREMENT modifikaatori kasutamise toetus FLOAT ja DOUBLE tĂŒĂŒpide korral.
- Eemaldatud utiliit mysql_ssl_rsa_setup â OpenSSL'iga koostamisel. server MySQL vĂ”ib automaatselt genereerida puuduvaid SSL- ja RSA-faile, kui see kĂ€ivitatakse.
- Eemaldatud utiliit mysql_upgrade, mis ei ole kasutusel MySQL 8.0.16 versiooni puhul.
- Eemaldatud utiliidid mysqlpump, lz4_decompress ja zlib_decompress, mille asemel tuleks kasutada utiliiti mysqldump vÔi interaktiivse shell'i dump kÀske.
- Eemaldatud on pluginad: authentication_fido, authentication_fido_client (kasutada tuleb authentication_webauthn); keyring_file (kasutada tuleb component_keyring_file); keyring_encrypted_file (kasutada tuleb component_keyring_encrypted_file); keyring_oci (kasutada tuleb component_keyring_oci).
- Toetatud on ENGINE vĂ€ljendi lĂ”petamine koos erinevate variantidega âDROP TABLESPACEâ ja âALTER TABLESPACEâ.
- Eemaldatud on privileeg âSET_USER_IDâ, mida ei saa enam GRANT vĂ€ljendites kasutada.
- Tagasiviidud on API funktsioonid: mysql_kill(), mysql_list_fields(), mysql_list_processes(), mysql_refresh(), mysql_reload(), mysql_shutdown() ja mysql_ssl_set(), millest osa on ĂŒmber töötatud, kasutades mysql_real_query() funktsiooni. Need funktsioonid eemaldati MySQL 8.3 harust, kuid taastati LTS haru MySQL 8.4 raames.
- Eemaldatud on 26 haavatavust, mida saab kaugelt Àra kasutada. TÔsiseim probleem on ohutasemel 6.5 ja seondub openSSL haavatavusele. VÀhem ohtlikud haavatavused mÔjutavad optimeerijat, InnoDB, Thread Pooling, Group Replication Plugin, Audit Plugin, DML ja mysqldump.
Allikas: opennet.ru
