MySQL 8.4.0 LTS DBMS havebla

Oracle formis novan branĉon de la MySQL 8.4 DBMS kaj publikigis korektan ĝisdatigon al MySQL 8.0.37. MySQL Community Server 8.4.0-konstruaĵoj estas pretaj por ĉiuj ĉefaj distribuoj de Linukso, FreeBSD, macOS kaj Vindozo. Eldonaĵo 8.4.0 estas branĉo de Longdaŭra Subteno (LTS), kiu estas liberigita ĉiujn du jarojn kaj estas subtenata dum 5 jaroj (krom pliaj 3 jaroj da plilongigita subteno disponebla).

MySQL 8.4.0 estas la kvara eldono formita sub la nova eldonmodelo, kiu provizas por la ĉeesto de du specoj de MySQL-filioj - "Novigado" kaj "LTS". La Innovaj branĉoj, kiuj inkluzivas MySQL 8.1, 8.2 kaj 8.3, estas rekomenditaj por tiuj, kiuj volas akiri aliron al novaj funkcioj pli frue. Tiuj branĉoj estas publikigitaj ĉiujn 3 monatojn kaj estas subtenataj nur ĝis la venonta grava eldono estas publikigita (ekzemple, post la apero de la 8.4 branĉo, subteno por la 8.3 branĉo estis ĉesigita). LTS-filioj estas rekomenditaj por efektivigoj kiuj postulas antaŭvideblecon kaj longperspektivan konservadon de senŝanĝa konduto. Post la LTS-filio, nova Noviga branĉo estos formita - MySQL 9.0.

Gravaj ŝanĝoj en MySQL 8.4:

  • Aldonita subteno al la optimumigilo por aŭtomate ĝisdatigi histogramojn, sendepende de la plenumo de la operacio ANALYZE TABLE sur la gepatra tablo. Aŭtomata ĝisdatigo estas ebligita per specifo de la esprimo "AUTO UPDATE" dum plenumado de la operacio "ANALYZE TABLE", kaj malŝaltita per specifo de la esprimo "MANUAL UPDATE", kiu estas uzata defaŭlte.
  • Aldonitaj "--keyring-migration-from-component", "--keyring-migration-source" kaj "--keyring-migration-destination" opcioj por migrado de la ŝlosilringa komponanto al la ŝlosilringa kromaĵo.
  • Nova FLUSH_PRIVILEGES-privilegio estis aldonita, kiu, male al la antaŭe havebla RELOAD-privilegio, nur donas al la uzantrajtoj plenumi la operacion "FLUSH_PRIVILEGES".
  • Aldonis novan privilegion OPTIMIZE_LOCAL_TABLE, permesante al la uzanto plenumi la operaciojn "OPTIMIZE LOCAL TABLE" kaj "OPTIMIZE NO_WRITE_TO_BINLOG TABLE".
  • Ŝanĝis la defaŭltajn valorojn de la sistemvariabloj group_replication_consistency kaj group_replication_exit_state_action. La variablo group_replication_consistency nun estas agordita al BEFORE_ON_PRIMARY_FAILOVER anstataŭ EVENTUAL, kaj la variablo group_replication_exit_state_action nun estas agordita al OFFLINE_MODE anstataŭ READ_ONLY.
  • Asembleoj ekspeditaj kun la enkonstruita OpenSSL-biblioteko uzas la novan version de OpenSSL 3.0.13.
  • Rekta ĝisdatigo de MySQL 5.7 al MySQL 8.4 estis ĉesigita. Por migri de MySQL 5.7, vi unue devas nun migri al la branĉo 8.0, kaj nur tiam ĝisdatigi ĝin al versio 8.4.
  • Ŝanĝis la defaŭltajn valorojn de la sekvaj InnoDB-agordoj: innodb_adaptive_hash_index, innodb_buffer_pool_in_core_file, innodb_buffer_pool_instances, innodb_change_buffering, innodb_doublewrite_files, innodb_doublewrite_files, innodb_doublewrite_files, innodb_doublewrite_files, innodb_doublewrite_pages, influshd nodb_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_mm_mmap, temptable_max_aptable_mm
  • Aldonita subteno por konstruado de pakaĵoj por distribuoj Fedora 40 kaj Ubuntu 24.04.
  • La aldonaĵo de servilo mysql_native_password, kiu provizas aŭtentikigon per pasvortoj, estas malebligita defaŭlte kaj malrekomendita. Anstataŭ mysql_native_password, oni rekomendas ŝanĝi al la kromaĵo caching_sha2_password, kiu uzas la SHA2-algoritmon anstataŭ SHA1 por haŝigado. Por redoni subtenon por mysql_native_password, vi povas uzi la opcion "--mysql-native-password=ON" aŭ la agordon "mysql_native_password=ON".
  • Subteno por nesekuraj protokoloj kaj ĉifrado-algoritmoj estis nuligita. Restas nur TLS v1.2 kaj TLSv1.3, algoritmoj kiuj provizas antaŭen sekretecon, ĉifrojn kaj atestojn kun SHA2, kaj AES-algoritmoj en GCM aŭ AEAD-reĝimo.
  • Forigitaj replik-rilataj SQL-deklaroj kiuj antaŭe estis malrekomenditaj pro la uzo de politike malĝusta terminologio: START SLAVE (START REPLICA devus esti uzata); STOP SLAVE (STOP REPLICA devus esti uzata); SHOW SLAVE STATUS (MONTRI REPLIKA STATOSO devus esti uzata); MONTRI SKLAVON-GASTOJN (MONTRI REPLIKILOJN); RESETAJ Sklavo (RESETIGI REPLIKO); ŜANĜI MAJSTRON AL (ŜANĜI LA REPLIKADFONTO AL); RESETAJ MAJSTRON (RESETIGI BINARAJ LOGOJ KAJ GTIDS); SHOW MASTER STATUS (MONTRI BINAR LOG STATUS); PURGE MASTER LOGS (PURGI BINARAJ LOGOJ); SHOW MASTER LOGS (MONTRI BINARAJ LOGOJ).
  • Forigis antaŭe malrekomenditajn opciojn uzatajn en la deklaroj "ŜANĜI REPLICATION SOURCE AL" kaj "START REPLICA" uzante la vorton "majstro" kiu estis anstataŭigita per "fonto": MASTER_AUTO_POSITION (devas uzi SOURCE_AUTO_POSITION), MASTER_HOST (devas uzi SOURCE_HOST), MASTER_BIND (devas uzi uzu SOURCE_BIND), MASTER_USER (SOURCE_USER), MASTER_PASSWORD (SOURCE_PASSWORD), MASTER_PORT (SOURCE_PORT), MASTER_CONNECT_RETRY (SOURCE_CONNECT_RETRY), MASTER_RETRY_COUNT (SOURCE_RETRY_COUNT), MASTER_DELAY, (SOURCE_SLS_SL CE_SSL_CA), MASTER_SSL_CAPATH (SOURCE_SSL_CAPATH ), MASTER_SSL_CIPHER (SOURCE_SSL_CIPHER), MASTER_SSL_CRL (SOURCE_SSL_CRL), MASTER_SSL_CRLPATH (SOURCE_SSL_CRLPATH), MASTER_SSL_KEY (SOURCE_SSL_KEY), MASTER_SSL_VERIFY_SERVER_CRL_VERIFY_SOURCE_CRL, MASTER_SERVER_VERIFY_CRLPATH, (SOURCE_TLS_VERSION), MASTER_TLS_CIPHERSUITES (SOURCE_TLS_CIPHERSUITES), MASTER_SSL_CERT (SOURCE_SSL_CERT), MASTER_PUBLIC_KEY_PATH (SOURCE_PUBLIC_KEY_PATH), GET_MASTER_PUBLIC_KCEY_PUBLIC_KCEY (GET_) , MASTER_HEARTBEAT_PERIOD (SOURCE_HEARTBEAT_PERIOD), MASTER_COMPRESSION_ALGORITHMS (SOURCE_COMPRESSION_ALGORITHMS), MASTER_ZSTD_COMPRESSION_LEVEL (SOURCE_ZSTD_COMPRESSION_LEVEL), MASTER_LOG_FILE (SOURCE_COMPRESSION_ALGORITHMS), (MASTER_LOG___LOGPOS).
  • Forigitaj sistemaj variabloj kiuj uzis la vortojn "majstro" kaj "sklavo": Com_slave_start (Com_replica_start devus esti uzata); Com_slave_stop(Com_replica_stop); Com_show_slave_status(Com_show_replica_status); Com_show_slave_hosts(Com_montri_replikaĵoj); Com_show_master_status(Com_show_binary_log_status); kaj Com_change_master (Com_change_replication_source).
  • La sistemvariablo group_replication_allow_local_lower_version_join estas malrekomendita. Forigis antaŭe malrekomenditajn opciojn "--no-dd-upgrade", "-old", "-new", "-language", "-ssl", "-admin-ssl" kaj la variablojn binlog_transaction_dependency_tracking, group_replication_recovery_complete_at, avoid_temporal_upgrade, show_old_temporals kaj default_authentication_plugin.
  • La neuzata tabelo INFORMATION_SCHEMA.TABLESPACES estis forigita.
  • La uzo de la LOW_PRIORITY-valoro kun la deklaro "LOCK TABLES ... WRITE" estas ĉesigita.
  • Subteno por uzi la AUTO_INCREMENT-modifilon kun la tipoj FLOAT kaj DOUBLE estas ĉesigita.
  • La mysql_ssl_rsa_setup ilo estis forigita - kiam konstruita kun OpenSSL, la MySQL-servilo povas aŭtomate generi mankantajn SSL kaj RSA-dosierojn ĉe ekfunkciigo.
  • La ilo mysql_upgrade estis forigita, kiu ne estis uzata ekde MySQL 8.0.16.
  • La mysqlpump, lz4_decompress, kaj zlib_decompress iloj estis forigitaj, favore al la mysqldump ilo aŭ interagaj ŝeldump-komandoj.
  • Kromaĵoj forigitaj: authentication_fido, authentication_fido_client (authentication_webauthn estu uzata); ŝlosilringo_dosiero (devus uzi component_keyring_file); ŝlosilringo_ĉifrita_dosiero (devus uzi component_keyring_encrypted_file); keyring_oci (component_keyring_oci devus esti uzata).
  • La ENGINE-esprimo, kune kun la diversaj opcioj "DROP TABLESPACE" kaj "ALTER TABLESPACE", estis nuligita.
  • La privilegio "SET_USER_ID" estis forigita kaj ne plu povas esti specifita en GRANT-deklaroj.
  • Revenitaj C API-funkcioj: mysql_kill(), mysql_list_fields(), mysql_list_processes(), mysql_refresh(), mysql_reload(), mysql_shutdown() kaj mysql_ssl_set(), kelkaj el kiuj estis reverkitaj uzante la mysql_real-funkcion. Ĉi tiuj funkcioj estis forigitaj en MySQL 8.3, sed estis restarigitaj por subteni en la LTS-filio de MySQL 8.4.
  • Korektis 26 vundeblecojn, kiuj povus esti ekspluatitaj malproksime. La plej grava problemo havas severecan nivelon de 6.5 kaj estas asociita kun vundebleco en openSSL. Malpli danĝeraj vundeblecoj influas la optimumigilon, InnoDB, Thread Pooling, Group Replication Plugin, Audit Plugin, DML, mysqldump.

fonto: opennet.ru

Aldoni komenton