查看系統版本:7.5
cat /etc/redhat-release
首先下載rmp包:
https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
首先需要在root下才行,然後解壓tar
tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
由於部分庫會和mariadb衝突,所以可能需要先卸載mariadb
rpm -qa | grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
這些包可以不全部安裝,按照順序安裝部分如下:
rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.28-1.el7.x86_64.rpm
安裝完成,初始化mysql
mysqld --initialize --user=mysql
查找生產的臨時密碼
grep 'temporary password' /var/log/mysqld.log
然後我們用此密碼登錄,然後修改密碼
set password=password('123456');
或者
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
注意:mysql 5.7 默認安裝了密碼安全檢查插件(validate_password),默認密碼檢查策略要求密碼必須包含:大小寫字母、數字和特殊符號,並且長度不能少於8位。否則會提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 錯誤。因爲我沒有安裝密碼檢查插件。
啓動MYSQL
systemctl start mysqld.service
[root@localhost mysqlsrc]# systemctl status mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2020-02-07 21:36:45 CST; 32min ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 4149 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
Process: 4128 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 4152 (mysqld)
Tasks: 35
CGroup: /system.slice/mysqld.service
└─4152 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
Feb 07 21:36:44 localhost.localdomain systemd[1]: Starting MySQL Server...
Feb 07 21:36:45 localhost.localdomain systemd[1]: Started MySQL Server.
建立遠程連接賬戶:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
設置默認編碼爲utf8
修改/etc/my.cnf,在[mysqld]下加入
character-set-server=utf8
重啓Mysql服務。
將默認的3306端口加入防火牆,以便外部能夠訪問,並重啓防火牆服務,查看端口是否開啓
firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld
[root@localhost ~]# firewall-cmd --zone=public --list-ports
3306/tcp