Home  >  Article  >  Database  >  How to install MySQL5.7 database using MySQL's yum source_MySQL

How to install MySQL5.7 database using MySQL's yum source_MySQL

WBOY
WBOYOriginal
2016-09-09 08:13:421289browse

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn