MySQL 8.0.0 development milestone version released!_MySQL
The MySQL development team announced the release of MySQL 8.0.0 development milestone version (DMR) on the 12th! Some people may be surprised why MySQL jumped from 5.x to 8.0. In fact, the MySQL 5.x series has continued for many years, starting from 5.1 before being acquired by Oracle, and has remained at 5.x since the acquisition, such as 5.5, 5.6, 5.7 and so on. In fact, if you follow the original release rhythm, you can think of 5.6.x as 6.x and 5.7.x as 7.x. Therefore, we just changed the version naming method.
However, the MySQL 8.0.0 development version released this time still has many highlights.
MySQL 8.0.0 Highlights
Transactional data dictionary, completely separated from the MyISAM storage engine
Really put the data dictionary into some tables in InnoDB, and no longer need FRM, TRG, and PAR files! Information Schema now appears as a view of the data dictionary tables. In principle, there is no need for the MyISAM data table type at all, and all system tables can be placed in InnoDB.
SQL Role
A role is a collection of permissions. You can create roles, grant and remove roles to a user. This is convenient for permission management.
utf8mb4 character set will become the default character set and support Unicode 9
The default character set will be changed from latin1 to utf8mb4, and the default collation will be changed from latin1_swedish_ci to utf8mb4_800_ci_ai.
Invisible index
Some indexes can be made invisible so that the SQL optimizer won't use it, but it will continue to be updated in the background. Visibility can be restored at any time when needed.
Bit operations can be performed on binary data
Not only can you perform bit operations on BIGINT, but also supports bit operations on [VAR]BINARY/[TINYMEDIUMLONG]BLOB starting from 8.0.
Improved operation with IPv6 and UUID
INET6_ATON () and INET6_NTOA () can now perform bit operations, because INET6_ATON () now returns the VARBINARY (16) data type (128 bits). UUID operations have been improved with the introduction of three new functions UUID_TO_BIN (), BIN_TO_UUID () and IS_UUID (). MySQL does not have special IPv6 and UUID data types, but is stored in the VARBINARY (16) data type.
Persistent global variables
You can use SET PERSIST to set persistent global variables, which will be retained even if restarted.
Improvements of performance database Performance Schema
For example, more than 100 indexes have been added to the performance database to enable faster retrieval.
Refactor SQL parser
Continuous and gradual improvement of SQL analyzer. The old parser had severe limitations due to its syntactic complexity and top-down parsing approach, making it difficult to maintain and extend.
Cost Model
InnoDB buffers can now estimate how many tables and indexes are in the main memory cache, which allows the optimizer to know whether the data can be stored in memory or must be stored on disk when choosing an access method.
Histograms
By using histograms, users or DBAs can make statistics on data distribution, which can be used in query optimization to find optimized query solutions.
Improve scanning performance
Improved the performance of InnoDB range queries, which can improve the performance of full table queries and range queries by 5-20%.
Reconstruct BLOB
Refactoring BLOB speeds up fragment read/update operations, which can speed up JSON data operations.
Persistent self-increasing value
InnoDB will persist the maximum value of the auto-increment sequence to the redo log. This improvement also fixes a very old bug #199.
Temporary table
Remove support for compressed temporary tables and store temporary table metadata in memory.
For more important improvements and details, please refer to the MySQL 8.0.0 release announcements [1] and [2].
Download
At present, 8.0.0 is still a development version. If you want to experience and test the latest features, you can download the installation packages for each platform from dev.mysql.com[3]. However, the MySQL software package is getting larger and larger, and the binary package on the Linux platform is nearly 1 GB. If used in a production environment, please continue to use the 5.7 series before 8.0 enters the stable version. The latest version is the 5.7.15 GA version - which is only more than 600 M.
The latest source code is on GitHub. Interested friends can check it out. Many of them are contributions from Chinese people.
[1]: http://dev.mysql.com/doc/relnotes/mysql/8.0/en/
[2]: http://mysqlserverteam.com/the-mysql-8-0-0-milestone-release-is-available/
[3]: http://dev.mysql.com/downloads/mysql/

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

The process of starting MySQL in Docker consists of the following steps: Pull the MySQL image to create and start the container, set the root user password, and map the port verification connection Create the database and the user grants all permissions to the database

Laravel is a PHP framework for easy building of web applications. It provides a range of powerful features including: Installation: Install the Laravel CLI globally with Composer and create applications in the project directory. Routing: Define the relationship between the URL and the handler in routes/web.php. View: Create a view in resources/views to render the application's interface. Database Integration: Provides out-of-the-box integration with databases such as MySQL and uses migration to create and modify tables. Model and Controller: The model represents the database entity and the controller processes HTTP requests.

I encountered a tricky problem when developing a small application: the need to quickly integrate a lightweight database operation library. After trying multiple libraries, I found that they either have too much functionality or are not very compatible. Eventually, I found minii/db, a simplified version based on Yii2 that solved my problem perfectly.

The key to installing MySQL elegantly is to add the official MySQL repository. The specific steps are as follows: Download the MySQL official GPG key to prevent phishing attacks. Add MySQL repository file: rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Update yum repository cache: yum update installation MySQL: yum install mysql-server startup MySQL service: systemctl start mysqld set up booting

Article summary: This article provides detailed step-by-step instructions to guide readers on how to easily install the Laravel framework. Laravel is a powerful PHP framework that speeds up the development process of web applications. This tutorial covers the installation process from system requirements to configuring databases and setting up routing. By following these steps, readers can quickly and efficiently lay a solid foundation for their Laravel project.

MySQL and phpMyAdmin are powerful database management tools. 1) MySQL is used to create databases and tables, and to execute DML and SQL queries. 2) phpMyAdmin provides an intuitive interface for database management, table structure management, data operations and user permission management.

Installing MySQL on CentOS involves the following steps: Adding the appropriate MySQL yum source. Execute the yum install mysql-server command to install the MySQL server. Use the mysql_secure_installation command to make security settings, such as setting the root user password. Customize the MySQL configuration file as needed. Tune MySQL parameters and optimize databases for performance.
