Mysql
Mysql jumped directly from version 5.x to 8.x, my personal view is this:
MySQL 5.5 -> MySQL 5
MySQL 5.6 -> MySQL 6
MySQL 5.7 -> MySQL 7
MySQL 8.0 -> MySQL 8
Of course, it is also possible that Mysql6 and 7 are internally difficult to produce. Since being acquired by Oracle, the vitality is still there. MySQL8 has the following new features:
First, you need to enable the MySQL yum repository in the system provided by MySQL. Execute one of the following commands according to your operating system version, here we choose the source of CentOS 7 / RHEL 7
### On CentOS 7/On RHEL 7 system###
rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm
### On CentOS 7/On RHEL 6 system###
rpm -Uvh https://repo.mysql.com/mysql80-community-release-el6-3.noarch.rpm
### On Fedora 30 system###
rpm -Uvh https://repo.mysql.com/mysql80-community-release-fc30-1.noarch.rpm
### On Fedora 29 system###
rpm -Uvh https://repo.mysql.com/mysql80-community-release-fc29-2.noarch.rpm
### On Fedora 28 system###
rpm -Uvh https://repo.mysql.com/mysql80-community-release-fc28-2.noarch.rpm
The MySQL yum repository contains multiple repository configurations for multiple MySQL versions. Therefore, first disable all repositories in the mysql repo file
sed -i 's/enabled=1/enabled=0/'/etc/yum.repos.d/mysql-community.repo
Enable centos mysql8 version
## CentOS &RedHat version
yum --enablerepo=mysql80-community install mysql-community-server
## Fedora Systems version
dnf --enablerepo=mysql80-community install mysql-community-server
service mysqld start
Use Systemd
systemctl start mysqld.service
After installing MySQL 8.0, a temporary password will be created for the MySQL root user. You can find the generated temporary password in the log file. Password file location: /var/log/mysqld.log
grep "A temporary password"/var/log/mysqld.log
After installing MySQL for the first time, execute the mysql_secure_installation command to protect the MySQL server, including steps to reset the password
mysql_secure_installation
Enter password for user root:
The existing password for the user account root has expired. Please set a newpassword.
New password:
Re-enter newpassword:
Remove anonymous users?(Press y|Y for Yes, any other key for No): y
Disallow root login remotely?(Press y|Y for Yes, any other key for No): y
Remove test database and access to it?(Press y|Y for Yes, any other key for No): y
Reload privilege tables now?(Press y|Y for Yes, any other key for No): y
### Using Systemd
systemctl enable mysqld.service
systemctl restart mysqld.service
If the server has a firewall enabled, remember to enable port 3306
systemctl enable iptables
systemctl start iptables
vim /etc/sysconfig/iptables
## Add to the rules
- A INPUT -p tcp -m state --state NEW -m tcp --dport 3306-j ACCEPT
## Restart firewall
systemctl enable iptables.service
systemctl start iptables.service
If you are using a Tencent Cloud server, you must remember to open the port in the security group
Attached mysql commonly used commands:
Login to mysql
mysql -u username -p
Start mysql
systemctl start mysqld.service
End mysql
systemctl stop mysqld.service
Restart mysql
systemctl restart mysqld.service
Self-start
systemctl enable mysqld.service
Recommended Posts