CentOS7 yum方式安裝MySQL5.7

在CentOS中默認(rèn)安裝有MariaDB,這個是MySQL的分支,但為了需要,還是要在系統(tǒng)中安裝MySQL,而且安裝完成之后可以直接覆蓋掉MariaDB。

1 .下載并安裝MySQL官方的 Yum Repository

[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

使用上面的命令就直接下載了安裝用的Yum Repository,大概25KB的樣子,然后就可以直接yum安裝了。

[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

之后就開始安裝MySQL服務(wù)器。

[root@localhost ~]# yum -y install mysql-community-server

這步可能會花些時間,安裝完成后就會覆蓋掉之前的mariadb。

效果圖

至此MySQL就安裝完成了,然后是對MySQL的一些設(shè)置。

2. MySQL數(shù)據(jù)庫設(shè)置

首先啟動MySQL

[root@localhost ~]# systemctl start  mysqld.service

查看MySQL運行狀態(tài),運行狀態(tài)如圖:

[root@localhost ~]# systemctl status mysqld.service
效果圖

此時MySQL已經(jīng)開始正常運行,不過要想進入MySQL還得先找出此時root用戶的密碼,通過如下命令可以在日志文件中找出密碼:

[root@localhost ~]# grep "password" /var/log/mysqld.log
效果圖

如下命令進入數(shù)據(jù)庫:

[root@localhost ~]# mysql -uroot -p

輸入初始密碼,此時不能做任何事情,因為MySQL默認(rèn)必須修改密碼之后才能操作數(shù)據(jù)庫:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

這里有個問題,新密碼設(shè)置的時候如果設(shè)置的過于簡單會報錯:

效果圖

原因是因為MySQL有密碼設(shè)置的規(guī)范,具體是與validate_password_policy的值有關(guān):

效果圖

MySQL完整的初始密碼規(guī)則可以通過如下命令查看:

mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 4     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.01 sec)

密碼的長度是由validate_password_length決定的,而validate_password_length的計算公式是:

validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

我的是已經(jīng)修改過的,初始情況下第一個的值是ON,validate_password_length是8??梢酝ㄟ^如下命令修改:

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;

設(shè)置之后就是我上面查出來的那幾個值了,此時密碼就可以設(shè)置的很簡單,例如1234之類的。到此數(shù)據(jù)庫的密碼設(shè)置就完成了。

但此時還有一個問題,就是因為安裝了Yum Repository,以后每次yum操作都會自動更新,需要把這個卸載掉:

[root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch

3.設(shè)置開機自動啟動

cenos7安裝后默認(rèn)是自動啟動的,先查看一下

[root@iz2zei76g05x9oeyq8ht2kz ~]# systemctl is-enabled mysqld.service
enabled

mysql開啟遠(yuǎn)程訪問(更改遠(yuǎn)程訪問密碼)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '自己設(shè)置一個密碼';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

防火墻開放3306端口
注意:阿里云的服務(wù)器不用管防火墻的,因為它默認(rèn)是關(guān)閉的,起到防火墻作用的是安全組,因此,需要登錄阿里云到控制臺到安全組添加一條策略來開放3306端口。

效果圖
效果圖

如果是自己的服務(wù)器,要按下面配置

[root@iz2zei76g05x9oeyq8ht2kz ~]# systemctl start iptables #啟動防火墻
[root@iz2zei76g05x9oeyq8ht2kz ~]# systemctl status iptables #查看防火墻狀態(tài) 
#編輯防火墻,增加端口
[root@iz2zei76g05x9oeyq8ht2kz ~]# vim /etc/sysconfig/iptables #編輯防火墻配置文件,添加下面一行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
:wq #保存退出
[root@iz2zei76g05x9oeyq8ht2kz ~]# systemctl restart iptables.service #重啟防火墻使配置生效
[root@iz2zei76g05x9oeyq8ht2kz ~]# systemctl enable iptables.service #設(shè)置防火墻開機啟動

測試端口是否開放

[root@iz2zei76g05x9oeyq8ht2kz ~]# wget xxx.xxx.xxx.xxx:3306

接下來測試鏈接


效果圖

成功!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容