يتوفر MySQL 8.4.0 LTS DBMS

قامت Oracle بتشكيل فرع جديد لنظام MySQL 8.4 DBMS ونشرت تحديثًا تصحيحيًا لـ MySQL 8.0.37. تم إعداد إصدارات MySQL Community Server 8.4.0 لجميع توزيعات Linux وFreeBSD وmacOS وWindows الرئيسية. الإصدار 8.4.0 هو فرع دعم طويل الأمد (LTS)، يتم إصداره كل عامين ويتم دعمه لمدة 5 سنوات (بالإضافة إلى 3 سنوات إضافية من الدعم الممتد المتوفر).

MySQL 8.4.0 هو الإصدار الرابع الذي تم تشكيله ضمن نموذج الإصدار الجديد، والذي ينص على وجود نوعين من فروع MySQL - "Innovation" و"LTS". يوصى باستخدام فروع الابتكار، التي تتضمن MySQL 8.1 و8.2 و8.3، لأولئك الذين يرغبون في الوصول إلى الوظائف الجديدة مبكرًا. يتم نشر هذه الفروع كل 3 أشهر ويتم دعمها فقط حتى يتم نشر الإصدار الرئيسي التالي (على سبيل المثال، بعد ظهور الفرع 8.4، توقف دعم الفرع 8.3). يوصى بفروع LTS للتطبيقات التي تتطلب القدرة على التنبؤ والاستمرار على المدى الطويل للسلوك دون تغيير. بعد فرع LTS، سيتم إنشاء فرع جديد للابتكار - MySQL 9.0.

التغييرات الرئيسية في MySQL 8.4:

  • تمت إضافة دعم للمُحسِّن لتحديث الرسوم البيانية تلقائيًا، بغض النظر عن تنفيذ عملية ANALYZE TABLE على الجدول الأصلي. يتم تمكين التحديث التلقائي عن طريق تحديد تعبير "التحديث التلقائي" عند إجراء عملية "تحليل الجدول"، ويتم تعطيله عن طريق تحديد تعبير "التحديث اليدوي" الذي يتم استخدامه بشكل افتراضي.
  • تمت إضافة خيارات "--keyring-migration-from-component"، و"--keyring-migration-source"، و"--keyring-migration-destination" للترحيل من مكون حلقة المفاتيح إلى مكون حلقة المفاتيح الإضافي.
  • تمت إضافة امتياز FLUSH_PRIVILEGES جديد، والذي، على عكس امتياز RELOAD المتوفر سابقًا، يمنح فقط حقوق المستخدم لتنفيذ عملية "FLUSH PRIVILEGES".
  • تمت إضافة امتياز جديد OPTIMIZE_LOCAL_TABLE، مما يسمح للمستخدم بإجراء العمليات "OPTIMIZE LOCAL TABLE" و"OPTIMIZE NO_WRITE_TO_BINLOG TABLE".
  • تم تغيير القيم الافتراضية لمتغيرات النظام group_replication_consistency وgroup_replication_exit_state_action. تم الآن تعيين المتغير group_replication_consistency على BEFORE_ON_PRIMARY_FAILOVER بدلاً من EVENTUAL، كما تم الآن تعيين المتغير group_replication_exit_state_action على OFFLINE_MODE بدلاً من READ_ONLY.
  • تستخدم التجميعات التي يتم شحنها مع مكتبة OpenSSL المضمنة الإصدار الجديد من OpenSSL 3.0.13.
  • تم إيقاف الترقية المباشرة من MySQL 5.7 إلى MySQL 8.4. للترحيل من MySQL 5.7، يجب عليك أولاً الانتقال إلى الفرع 8.0، وبعد ذلك فقط تحديثه إلى الإصدار 8.4.
  • تم تغيير القيم الافتراضية لإعدادات InnoDB التالية: 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، _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 و temptable_use_mmap.
  • تمت إضافة دعم لبناء الحزم لتوزيعات Fedora 40 وUbuntu 24.04.
  • يتم تعطيل المكون الإضافي لخادم mysql_native_password، والذي يوفر المصادقة باستخدام كلمات المرور، بشكل افتراضي ويتم إهماله. بدلاً من mysql_native_password، يوصى بالتبديل إلى البرنامج الإضافي caching_sha2_password، الذي يستخدم خوارزمية SHA2 بدلاً من SHA1 للتجزئة. لإرجاع الدعم لـ mysql_native_password، يمكنك استخدام الخيار "--mysql-native-password=ON" أو الإعداد "mysql_native_password=ON".
  • تم إيقاف دعم البروتوكولات غير الآمنة وخوارزميات التشفير. لم يتبق سوى TLS v1.2 وTLSv1.3، والخوارزميات التي توفر السرية الأمامية والشفرات والشهادات باستخدام خوارزميات SHA2 وAES في وضع GCM أو EAAD.
  • تمت إزالة عبارات SQL المتعلقة بالنسخ المتماثل والتي تم إهمالها مسبقًا بسبب استخدام مصطلحات غير صحيحة سياسيًا: START SLAVE (يجب استخدام START REPLICA)؛ إيقاف الرقيق (يجب استخدام إيقاف النسخة المتماثلة)؛ إظهار حالة الرقيق (يجب استخدام عرض حالة النسخة المتماثلة)؛ إظهار المضيفين التابعين (إظهار النسخ المتماثلة)؛ إعادة تعيين الرقيق (إعادة تعيين النسخة المتماثلة) ؛ تغيير الرئيسي إلى (تغيير مصدر النسخ المتماثل إلى)؛ إعادة تعيين MASTER (إعادة تعيين السجلات الثنائية وGTIDS)؛ إظهار الحالة الرئيسية (إظهار حالة السجل الثنائي)؛ تطهير السجلات الرئيسية (تطهير السجلات الثنائية)؛ عرض السجلات الرئيسية (إظهار السجلات الثنائية).
  • تمت إزالة الخيارات المهملة مسبقًا والمستخدمة في عبارات "CHANGE REPLICATION SOURCE TO" و"START REPLICA" باستخدام كلمة "master" التي تم استبدالها بـ "source": MASTER_AUTO_POSITION (يجب أن يستخدم SOURCE_AUTO_POSITION)، MASTER_HOST (يجب أن يستخدم SOURCE_HOST)، MASTER_BIND (يجب أن يستخدم SOURCE_HOST)، استخدم 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_ DELAY)، MASTER_SSL ( SOURCE_SSL)، MASTER_SSL_CA (SOURCE_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_CERT (SOURCE_SSL_VERIFY_SERVER_CERT)، ASTER_TLS_VERSION (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_KEY (GET_SOURCE_PUBLIC_ كي) ، MASTER_HEARTBEAT_PERIOD (SOURCE_HEARTBEAT_PERIOD)، MASTER_COMPRESSION_ALGORITHMS (SOURCE_COMPRESSION_ALGORITHMS)، MASTER_ZSTD_COMPRESSION_LEVEL (SOURCE_ZSTD_COMPRESSION_LEVEL)، MASTER_LOG_FILE (SOURCE_LOG_FILE)، MASTER_LOG_POS (S CE_LOG_POS الخاص بنا).
  • تمت إزالة متغيرات النظام التي تستخدم الكلمتين "master" و"slave": Com_slave_start (يجب استخدام Com_replica_start)؛ Com_slave_stop(Com_replica_stop); Com_show_slave_status(Com_show_replica_status); Com_show_slave_hosts(Com_show_replicas); Com_show_master_status(Com_show_binary_log_status); وCom_change_master(Com_change_replication_source).
  • تم إيقاف استخدام متغير النظام group_replication_allow_local_lower_version_join. كما تم حذف الخيارات التي تم إيقاف استخدامها سابقًا وهي "--no-dd-upgrade" و"--old" و"--new" و"--language" و"--".SSL", "-admin-ssl" والمتغيرات binlog_transaction_dependency_tracking و group_replication_recovery_complete_at و avoid_temporal_upgrade و show_old_temporals و default_authentication_plugin.
  • تم حذف الجدول غير المستخدم INFORMATION_SCHEMA.TABLESPACES.
  • تم إيقاف استخدام قيمة LOW_PRIORITY مع عبارة "LOCK TABLES... WRITE".
  • لقد تم إيقاف دعم استخدام معدّل AUTO_INCREMENT مع النوعين FLOAT وDOUBLE.
  • تمت إزالة الأداة المساعدة mysql_ssl_rsa_setup - عند إنشائها باستخدام OpenSSL، قد يقوم خادم MySQL تلقائيًا بإنشاء ملفات SSL وRSA مفقودة عند بدء التشغيل.
  • تمت إزالة الأداة المساعدة mysql_upgrade، والتي لم يتم استخدامها منذ MySQL 8.0.16.
  • تمت إزالة الأدوات المساعدة mysqlpump، وlz4_decompress، وzlib_decompress، لصالح الأداة المساعدة mysqldump أو أوامر تفريغ الصدفة التفاعلية.
  • تمت إزالة المكونات الإضافية: Authentication_fido، Authentication_fido_client (يجب استخدام Authentication_webauthn)؛ keyring_file (يجب استخدام Component_keyring_file)؛ keyring_encrypted_file (يجب استخدام Component_keyring_encrypted_file)؛ keyring_oci (يجب استخدام component_keyring_oci).
  • تم إيقاف تعبير ENGINE، بالإضافة إلى خيارات "DROP TABLESPACE" و"ALTER TABLESPACE" المتنوعة.
  • تمت إزالة امتياز "SET_USER_ID" ولم يعد من الممكن تحديده في عبارات GRANT.
  • تم إرجاع وظائف واجهة برمجة تطبيقات C: mysql_kill() وmysql_list_fields() وmysql_list_processes() وmysql_refresh() وmysql_reload() وmysql_shutdown() وmysql_ssl_set()، والتي تمت إعادة صياغة بعضها باستخدام وظيفة mysql_real_query(). تمت إزالة هذه الميزات في MySQL 8.3، ولكن تمت استعادتها لدعم فرع LTS في MySQL 8.4.
  • تم إصلاح 26 نقطة ضعف يمكن استغلالها عن بعد. المشكلة الأكثر خطورة لها مستوى خطورة 6.5 وترتبط بوجود ثغرة أمنية في openSSL. تؤثر الثغرات الأمنية الأقل خطورة على المُحسِّن، وInnoDB، وThread Pooling، وGroup Replication Plugin، وAudit Plugin، وDML، وmysqldump.

المصدر: opennet.ru

إضافة تعليق