...because open source matters

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home News feed Planet MySQL
Planet MySQL
Planet MySQL - https://planet.mysql.com

  • WARP storage engine updated for MySQL 8.0.21
    MySQL 8.0.21 is out, and the WARP storage engine has been updated to support the changes made in the new version. There are no significant functionality changes to the storage engine for MySQL 8.0.21, only the minor changes required to compile in the new version.   I will be posting benchmarks of WARP vs InnoDB and Column Store using the Star Schema Benchmark, DBT3, and some other comparison tests. I will also be releasing a Docker image to make testing WARP easy.  As always, binaries are available upon request.  Keep in mind that WARP is a pluggable storage engine, and you can request just the plugin, or the whole MySQL 8 release,  for version 8.0.19, 8.0.20, or 8.0.21.

  • MySQL 8.0.21: thank you for the contributions
    MySQL 8.0.21 has been released today, wooohooo \o/ As usual, this release contains contributions and let me thanks all the contributors on behalf of the MySQL Team. MySQL 8.0.21 includes contributions from Edgars Irmejs, Daniël van Eeden, Jeremy Cole, Wenfeng Shih, Billy O’Neal, Lou Shuai, Tsubasa Tanaka and Facebook. Thank you all for your great contributions. MySQL is an Open Source project, GPL, and we accept contributions ! Here is the list of the contributions above: Filesort chosen where index should’ve been, using LIMIT, contribution by Edgars Irmejs Use mysql_config for –with-mysql-capi= when using –static, contribution by Daniël van Eeden Better error in comp_err with blank space only lines, contribution by Facebook, and some others… Dangerous optimization reconsidering_access_paths_for_index_ordering, contribution by Jeremy Cole Implement context manager, contribution by Wenfeng Shih Include missing headers breaking VS2019 version 16.6 nightly, contribution by Billy O’Neal mysql-connector-cpp cmake files not work well when as a third party, contribution by Lou Shuai a security contribution from Tsubasa Tanaka If you have patches and you also would like to be part of the MySQL Contributors, you can do so from MySQL’s GitHub repository (requires signing the Oracle Contributor Agreement). Thank you again for the contributions and see you for the next release !

  • JSON_VALUE() now in MySQL 8.0.21
    MySQL 8.0.21 was released today and one of the many new features is the JSON_VALUE() function. The main motivation is to ease index creation values from JSON data but there is more to it.JSON_VALUE() finds a specified scalar JSON value in JSON data and returns it as a SQL value.Examples I will use the mysql_x example database data for examples.   So let us start with getting the life expectancy data.SELECT JSON_EXTRACT(doc, "$.demographics.LifeExpectancy") AS raw FROM countryinfo LIMIT 4;+--------------------+| raw                |+--------------------+| 78.4000015258789   || 45.900001525878906 || 38.29999923706055  || 76.0999984741211   |+--------------------+That is great information if not exactly human eye friendly.We can use JSON_VALUE() to make it a little easier for humansSELECT JSON_VALUE(doc, "$.demographics.LifeExpectancy" RETURNING DECIMAL(6,2)) AS trimmed FROM countryinfo LIMIT 4;+---------+| trimmed |+---------+|   78.40 ||   45.90 ||   38.30 ||   76.10 |+---------+And it can be very useful in a WHERE clause. In this example there is no RETURNING clause.SELECT doc->"$.Name" FROM countryinfo WHERE JSON_VALUE(doc, "$.demographics.LifeExpectancy"      RETURNING DECIMAL(6,3)) > 80.1;+---------------+| doc->"$.Name" |+---------------+| "Andorra"     || "Japan"       || "Macao"       || "San Marino"  |+---------------+The optional RETURN clause will cast your data as FLOAT, DOUBLE, DECIMAL, SIGNED,UNSIGNED, DATE, TIME, DATETIME, CHAR, or JSON.There are even on empty and on error clauses.SELECT JSON_VALUE('{firstname:"John"}', '$.lastname'                       DEFAULT 'No last name found' ON ERROR) AS "Last Name";+--------------------+| Last Name          |+--------------------+| No last name found |+--------------------+And of course it can be used to help define indexes.CREATE TABLE xdemo (j JSON, x INTEGER,   key((json_value(j, '$.id'))) );All opinions expressed in this blog are those of Dave Stokes who is actually amazed to find anyone else agreeing with him

  • MySQL 8.0 Certifications
         Recently the MySQL 8.0 Developer Certification became available joining the MySQL 8.0 Developer Certifications.  I have recently seen posts on various social media sites asking what is on the exam, is there an exam guide, and what do you 'really need to know' to pass the exam.   Both tests are very tough.  Neither is going to be passed by rote memorization as many of the questions require analysis of system output before trying to adjust for the desired result.  There are no true or false questions and no essays.  What you will get is a series of questions written by subject matter experts that range from testing basic conceptual knowledge to very tough assessments of how to fix problems.  BTW the exam software lets you mark questions for later review and it does help to bypass the tougher questions for later review at the end of the test.  Are the question tricky?  No, not really.  They really require in depth knowledge of MySQL 8.0.  If you have ever interviewed someone for a DBA job you know there are certain points of knowledge (pain points) that a candidate MUST have to be trusted with your precious data.  Imagine going to your physician and having to identify which body part is a knee and which part is an elbow.  I personally would trust anyone with either the 8.0 DBA or 8.0 Developer certification to know their stuff.  Certification guide? Nope, sorry. Back in the 5.0 days there was a team effort to produce a comprehensive exam guide.  But 5.0 was a long time ago and there was an effort back in the 5.6 days for a resurrected guide that did not come to fruition. And having written a technical book, I can assure you that any such work is like writing in sand on a busy holiday vacation spot beach as the content is constantly changes and the community is adding or dropping tools continually.   I highly recommend Oracle's classes like MySQL For Developers and from regular reviews of the course materials on my part tell me that the curriculum team  does a fantastic job conveying the complex material way in an easy to consume package of literature and exercises.  I still recommend practicing the exercises for several weeks after the class before taking the exam.  Exam crams?  Do not waste you money.  The 'dumps' I have examined in the past are either poor third-hands recitations of poor interpretations of what was on a test or bad copies from the manual. How to Have a Good Chance to Pass the Exam   Review the exam topics below, using it as a check list.  Go to the MySQL Manual enter and read the sections for that area. Make sure you understand any examples and please do try them on your own scratch server.  Please write down notes in a notebook if you think having a consolidated review tool is handy for you.   Also check the MySQL Server Team blog and Planet.mysql.com for blogs from other Oracle MySQL Teams.  And if you have questions please ask away on forums.mysql.com and mysqlcommunity.slack,com.  I monitor the Certification board on the forums if you have questionsThe Exam Topics  DBA Certification  Architecture Configure client connections to the server Understand how MySQL stores data Understand how InnoDB stores data and logs Configure buffers and caches Understand and use the Data Dictionary Security Create user accounts and roles Use authentication plug-ins Control user and role permissions Recognize common security risks Secure MySQL server connections Provide password and login security Secure the MySQL host environment Prevent SQL injection attacks Encrypt MySQL data Configure MySQL Enterprise Firewall Query Optimization Examine how MySQL optimizes queries Analyze queries with MySQL Enterprise Monitor Create indexes to improve server performance Monitor and understand index statistics High Availability Techniques Explain how replication provides high availability and scalability Configure replication Explain the role of the binary log in replication Configure multisource replication Explain the role of replication threads Monitor and troubleshoot replication Describe MySQL InnoDB cluster and Group Replication Configure a MySQL InnoDB cluster Perform an InnoDB cluster recovery Developer Certification Connectors and APIs Choose between connectors for a given application Demonstrate connector use, management and configuration Retrieve data from the database by using a connector Handle special values Secure credentials and connections MySQL Schema Objects and Data Design, create, and alter views Store and process string data Store and process numeric data Store and process temporal data Store and process spatial data Query Optimization Use indexes for optimization Analyze queries for optimization Rewrite queries for optimization JSON and Document Store Create and store JSON documents Process data in JSON documents Explain application development with NoSQL and XDevAPI Create and access a document store Use MySQL Shell to access document stores Data-driven Applications Use prepared statements Set SQL Modes to change MySQL behavior Handle and interpret errors and warnings Display query results Aggregate and summarize data Advanced Report Generation Transactions Control transactions in SQL Control transactions in applications Resolve consistency problems with isolation levels Understand locking mechanisms within MySQL MySQL Stored Programs Create and execute stored routines Explain the programming constructs used in stored routines Create and execute triggers Schedule database operations Server Installation and Configuration Install and use the MySQL server and client programs Identify the files and folders created during installation Start and stop MySQL Upgrade MySQL Configure MySQL by using options and option files Configure MySQL variables Launch multiple MySQL servers on the same host Monitoring and Maintenance Configure and view MySQL log files Monitor MySQL processes and status Configure MySQL Enterprise Audit Use MySQL Enterprise Monitor to view activity in MySQL Monitor database growth and explain capacity planning Troubleshoot problems with locked resources Backups and Recovery Distinguish between the different types of backup Implement a backup strategy Backup and restore data with MySQL Enterprise Backup Use mysqldump and mysqlpump to perform logical backups Explain when and how to use raw file backups Back up the binary log All opinions expressed in this blog are those of Dave Stokes who is actually amazed to find anyone else agreeing with him

  • MySQL Workbench 8.0.21 has been released
    Dear MySQL users, The MySQL developer tools team announces 8.0.21 as our General Availability (GA) for MySQL Workbench 8.0. For discussion, join the MySQL Workbench Forums: http://forums.mysql.com/index.php?152 The release is now available in source and binary form for a number of platforms from our download pages at: http://dev.mysql.com/downloads/tools/workbench/ Enjoy!