The code is as follows:
# Install yum-config-manager
yum install yum-utils -y
# Disable the source of MySQL5.6
yum-config-manager --disable mysql56-community
# Enable the source of MySQL5.7
yum-config-manager --enable mysql57-community-dmr
# Use the following command to check whether the configuration is correct
yum repolist enabled | grep mysql
The code is as follows:
# mysqld --initialize --user=mysql --datadir=/var/lib/mysql
or
The code is as follows:
# mysqld --initialize-insecure --user=mysql --datadir=/var/lib/mysql
In addition, when you log in with a mysql account and execute the program, you can remove the --user option from the command.
We can know from the official documentation that if I log in to the Linux system as root, I can execute: mysqld --initialize --user=mysql or mysqld --initialize-insecure --user=mysql. If I log in to the Linux system as the mysql user, I can execute: mysqld --initialize or mysqld --initialize-insecure.
No matter which platform it is on, using the --initialize option will install it in the "default safe mode" (that is, including the generation of a random root initial password). In this case, the password is marked as expired and you need to choose a new password. With the --initialize-insecure option, no root password is generated; if this is the case, you will need to assign a password to the account promptly before the server is put into production use.
Using --initialize will generate a random initial password for the root account. We can use the command: mysql -u root -p, and then enter the password to log in to MySQL. Using --initialize-insecure will not generate a random initial password for the root account. We can use the command: mysql -u root --skip-password to log in to MySQL directly.
I encountered the following error during the initialization process:
[ERROR] --initialize specified but the data directory has files in it. Aborting.
[ERROR] Aborting
Solution:
The code is as follows:
rm -rf /var/lib/mysql/*
Cause analysis:
The mysqld service will check whether the data directory exists, as follows:
If the data directory does not exist, mysqld creates it.
If the data directory exists and is not empty (i.e. contains files or subdirectories), mysqld will display an error message and abort:
[ERROR] --initialize specified but the data directory exists. Aborting.
If this happens, delete or rename the data directory and try again.
In short: Before initialization, check whether the data directory exists and execute the command: ls -l /var/lib|grep mysql. If so, execute the command:
rm -rf /var/lib/mysql, delete it;
Or execute the command: mv /var/lib/mysql /var/lib/newname, rename it to newname, and that’s it.
Execute the initialization command again and it is executed successfully.
[Note] A temporary password is generated for root@localhost: ihey0gFhTT;f
Remember the temporary root password generated during initialization, it will be used when logging in
After the initialization is completed, start the service mysqld start directly
The code is as follows:
mysql -uroot -p temporary password
After logging in, if you do not change the password immediately, the following error will be reported when executing the command:
mysql> show databases ;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
Change password: set password=password('123@Zxc');
or:
The code is as follows:
alter user 'root'@'localhost' identified by '123@Zxc';
Executed successfully again.
From the official documentation, we learned that the password can be changed using the ALTER USER statement. After logging in to MySQL, execute the statement:
The code is as follows:
alter user 'root'@'localhost' identified by '123@Zxc';
Change the password of the root account to 123@Zxc.
MySQL has strengthened the security of user passwords, so the password you set must contain numbers, uppercase letters, lowercase letters, and special symbols. If the password you set is too simple, it will prompt:
ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT policy requirements.
The above is the method introduced by the editor to install the MySQL5.7 database using MySQL's yum source. I hope it will be helpful to you. If you have any questions, please leave me a message and the editor will reply to you in time. Thank you very much for your support of the website!

InnoDB uses redologs and undologs to ensure data consistency and reliability. 1.redologs record data page modification to ensure crash recovery and transaction persistence. 2.undologs records the original data value and supports transaction rollback and MVCC.

Key metrics for EXPLAIN commands include type, key, rows, and Extra. 1) The type reflects the access type of the query. The higher the value, the higher the efficiency, such as const is better than ALL. 2) The key displays the index used, and NULL indicates no index. 3) rows estimates the number of scanned rows, affecting query performance. 4) Extra provides additional information, such as Usingfilesort prompts that it needs to be optimized.

Usingtemporary indicates that the need to create temporary tables in MySQL queries, which are commonly found in ORDERBY using DISTINCT, GROUPBY, or non-indexed columns. You can avoid the occurrence of indexes and rewrite queries and improve query performance. Specifically, when Usingtemporary appears in EXPLAIN output, it means that MySQL needs to create temporary tables to handle queries. This usually occurs when: 1) deduplication or grouping when using DISTINCT or GROUPBY; 2) sort when ORDERBY contains non-index columns; 3) use complex subquery or join operations. Optimization methods include: 1) ORDERBY and GROUPB

MySQL/InnoDB supports four transaction isolation levels: ReadUncommitted, ReadCommitted, RepeatableRead and Serializable. 1.ReadUncommitted allows reading of uncommitted data, which may cause dirty reading. 2. ReadCommitted avoids dirty reading, but non-repeatable reading may occur. 3.RepeatableRead is the default level, avoiding dirty reading and non-repeatable reading, but phantom reading may occur. 4. Serializable avoids all concurrency problems but reduces concurrency. Choosing the appropriate isolation level requires balancing data consistency and performance requirements.

MySQL is suitable for web applications and content management systems and is popular for its open source, high performance and ease of use. 1) Compared with PostgreSQL, MySQL performs better in simple queries and high concurrent read operations. 2) Compared with Oracle, MySQL is more popular among small and medium-sized enterprises because of its open source and low cost. 3) Compared with Microsoft SQL Server, MySQL is more suitable for cross-platform applications. 4) Unlike MongoDB, MySQL is more suitable for structured data and transaction processing.

MySQL index cardinality has a significant impact on query performance: 1. High cardinality index can more effectively narrow the data range and improve query efficiency; 2. Low cardinality index may lead to full table scanning and reduce query performance; 3. In joint index, high cardinality sequences should be placed in front to optimize query.

The MySQL learning path includes basic knowledge, core concepts, usage examples, and optimization techniques. 1) Understand basic concepts such as tables, rows, columns, and SQL queries. 2) Learn the definition, working principles and advantages of MySQL. 3) Master basic CRUD operations and advanced usage, such as indexes and stored procedures. 4) Familiar with common error debugging and performance optimization suggestions, such as rational use of indexes and optimization queries. Through these steps, you will have a full grasp of the use and optimization of MySQL.

MySQL's real-world applications include basic database design and complex query optimization. 1) Basic usage: used to store and manage user data, such as inserting, querying, updating and deleting user information. 2) Advanced usage: Handle complex business logic, such as order and inventory management of e-commerce platforms. 3) Performance optimization: Improve performance by rationally using indexes, partition tables and query caches.


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

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

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

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Dreamweaver Mac version
Visual web development tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool