Installation Environment: CentOS7 64-bit mini version, install MySQL5.7
1. Configure the Yum source
Download the Yum source RPM installation package on the MySQL website: http://dev.mysql.com/downloads/repo/yum/
# 下载mysql源安装包shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm# 安装mysql源shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm
Check that the MySQL source is installed successfully
| grep "mysql.*-community.*"
See shown indicates successful installation
2. Install MySQL
shell> yum install mysql-community-server
3. Start the MySQL service
shell> systemctl start mysqld
To view the startup status of MySQL
shell> systemctl Status Mysqld mysqld. Service-mysql Server loaded:loaded (/usr/lib/systemd/system/mysqld. Service; Disabled Vendor preset:disabled) active:active (running) since five2016-06-2404:37:Panax Notoginseng CST; 35min ago Main PID: 2888 (mysqld) CGroup:/system. slice/mysqld. service└─ 2888/usr/sbin/mysqld--da Emonize--pid-file=/var/run/mysqld/mysqld. PIDJune : Notoginseng:$localhost. localdomain systemd[1]: Starting MySQL Server ... June: Panax notoginseng: localdomain systemd[1]: Started MySQL Server.
4. Boot start
shell> systemctl enable mysqldshell> systemctl daemon-reload
5. Change the root default password
After the MySQL installation is complete, a default password is generated for root in the/var/log/mysqld.log file. Locate the root default password in the following way, and then log in to MySQL to modify it:
shell> grep ‘temporary password‘ /var/log/mysqld.log
shell> mysql -uroot -pmysql> ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘MyNewPass4!‘;
Or
set password for ‘root‘@‘localhost‘=password(‘MyNewPass4!‘);
Note: mysql5.7 The password security check plug-in (Validate_password) is installed by default, and the default password check policy requires that the password must contain: uppercase and lowercase letters, numbers, and special symbols, and not less than 8 bits in length. Otherwise you will be prompted for error 1819 (HY000): Your password does not satisfy the current policy requirements error as shown:
You can view information about the password policy through the MSYQL environment variable:
like ‘%password%‘;
Validate_password_policy: Password policy, default to Medium policy validate_password_dictionary_file: Password policy file, policy is strong required Validate_ Password_length: Minimum password length validate_password_mixed_case_count: uppercase and lowercase character length, at least 1 validate_password_number_count: number at least 1 Validate_password_special_char_count: Special characters at least 1 of the above parameters are password check rules for the default policy medium.
There are several password policies:
Strategy |
Check Rules |
0 or Low |
Length |
1 or MEDIUM |
Length; Numeric, lowercase/uppercase, and special characters |
2 or strong |
Length; Numeric, lowercase/uppercase, and special characters; Dictionary file |
MySQL official website Password Policy detailed description: Http://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html#sysvar_ Validate_password_policy
Modify Password Policy
Add validate_password_policy configuration in/etc/my.cnf file, specify password policy
# 选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件validate_password_policy=0
If you do not require a password policy, add the following configuration to disable the My.cnf file:
validate_password = off
Restarting the MySQL service causes the configuration to take effect:
systemctl restart mysqld
6. Add Telnet user
By default, only the root account is allowed to log on locally, if you want to connect to MySQL on another machine, you must either modify the root to allow remote connections, or add an account that allows remote connections, for security reasons, I add a new account:
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘yangxin‘@‘%‘ IDENTIFIED BY ‘Yangxin0917!‘ WITH GRANT OPTION;
7. Configure the default encoding to UTF8
Modify the/ETC/MY.CNF configuration file and add the encoding configuration under [Mysqld] as follows:
[mysqld]character_set_server=utf8init_connect=‘SET NAMES utf8‘
Restart the MySQL service to view the database default encoding as follows:
Default profile path: config file:/etc/my.cnf log file:/var/log//var/log/mysqld.log service startup script:/usr/lib/systemd/system/ Mysqld.service Socket File:/var/run/mysqld/mysqld.pid
CentOS Installation MySQL5.7