{"id":165886,"date":"2025-04-22T06:19:06","date_gmt":"2025-04-22T06:19:06","guid":{"rendered":"https:\/\/linuxiac.com\/?p=165886"},"modified":"2025-04-22T06:50:54","modified_gmt":"2025-04-22T06:50:54","slug":"mysql-9-3-brings-enhanced-javascript-support","status":"publish","type":"post","link":"https:\/\/linuxiac.com\/mysql-9-3-brings-enhanced-javascript-support\/","title":{"rendered":"MySQL 9.3 Brings Enhanced JavaScript Support"},"content":{"rendered":"\n<p>MySQL, a widely adopted open-source relational database management system (RDBMS), has launched its third update to the 9.x series, version 9.3, introducing several new features.<\/p>\n\n\n\n<p>The new release introduces significant improvements to database backup capabilities, specifically through enhancements to the <code>mysqldump<\/code> utility. With the new <code>--users<\/code> option, admins can now effortlessly create logical dumps of user accounts via convenient SQL <code>CREATE USER<\/code> and <code>GRANT<\/code> statements.<\/p>\n\n\n\n<p>Want to streamline migrations even further? The <code>--add-drop-user<\/code> option neatly incorporates user deletion commands into your dump scripts, simplifying transitions between environments.<\/p>\n\n\n\n<p>Moreover, flexibility is boosted with selective backup options: administrators can use <code>--include-user<\/code> or <code>--exclude-user<\/code> flags to precisely control which accounts are included or omitted.<\/p>\n\n\n\n<p>Developers working with JavaScript stored programs have also received significant attention in MySQL 9.3. The Multilingual Engine Component (MLE), a key part of MySQL Enterprise Edition, now includes robust support for the MySQL DECIMAL data type within JavaScript stored programs.<\/p>\n\n\n\n<p>To maintain precision, these values default to JavaScript Strings, though flexibility is provided for those who prefer numeric handling. Additionally, the JavaScript Internationalization API is now integrated, facilitating seamless localization and internationalization through familiar JavaScript methods.<\/p>\n\n\n\n<p>Continuing on the JavaScript front, MySQL 9.3 has dramatically enhanced library management capabilities. Dynamic loading of JavaScript libraries via the <code>await<\/code> keyword streamlines asynchronous operations, ensuring required modules are loaded exactly when needed. The newly introduced SQL statements, <code>ALTER LIBRARY<\/code> and <code>SHOW LIBRARY STATUS<\/code>, further simplify the management and visibility of JavaScript libraries.<\/p>\n\n\n\n<p>Group Replication also sees meaningful advancements. The new Primary Election component effectively selects the most up-to-date secondary server for promotion during failovers, minimizing data inconsistency and downtime\u2014a critical improvement for enterprise deployments seeking maximum availability and reliability.<\/p>\n\n\n\n<p>Lastly, MySQL 9.3 expands its optimization capabilities, particularly in handling quantified comparison predicates. It now supports an extensive range of transformations within both <code>WHERE<\/code> and <code>SELECT<\/code> clauses, ensuring that even complex queries run more efficiently.<\/p>\n\n\n\n<p>Alongside these additions, however, the previously deprecated Version Tokens plugin has now been fully removed. Additionally, the <code>replica_parallel_workers<\/code> setting has been updated to require a minimum value of 1, ensuring replication efficiency remains consistent and reliable.<\/p>\n\n\n\n<p>For more in-depth details, check the&nbsp;<a href=\"https:\/\/dev.mysql.com\/doc\/refman\/9.3\/en\/mysql-nutshell.html\" target=\"_blank\" rel=\"noreferrer noopener\">release notes<\/a>&nbsp;or review all the changes that MySQL 9.3 brings <a href=\"https:\/\/dev.mysql.com\/doc\/relnotes\/mysql\/9.3\/en\/news-9-3-0.html\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MySQL 9.3 introduces logical user account dumps, improved JavaScript support, and new Group Replication election features.<\/p>\n","protected":false},"author":10,"featured_media":165889,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,5],"tags":[3651,3748,3641],"class_list":["post-165886","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","category-news","tag-databases","tag-development","tag-mysql"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts\/165886","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/comments?post=165886"}],"version-history":[{"count":0,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts\/165886\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/media\/165889"}],"wp:attachment":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/media?parent=165886"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/categories?post=165886"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/tags?post=165886"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}