1. 程式人生 > >CentOS7安裝MySQL(5.7)——非常詳細

CentOS7安裝MySQL(5.7)——非常詳細

CentOS7現在預設不支援MySQL了,預設的是MariaDB,這是MySQL的分支,但是對於我們來說是需要MySQL,下面進行安裝。

第一步、先下載 mysql源安裝包(Yum Repository)

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

如果出現 -bash: wget: 未找到命令

我們先安裝下wget   如果安裝過了。 就不用安裝了

yum -y install wget

下載完wget後再執行 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm,這裡下載很快。

 第二步、然後就是安裝mysql源:

yum -y localinstall mysql57-community-release-el7-11.noarch.rpm 

第三步、之後線上安裝MySQL伺服器:這裡下載東西有點多,會下載很久(我自己大概下了半小時),耐心等待,安裝完成後就會覆蓋掉之前的mariadb。

yum -y install mysql-community-server

 終於下載好了:

 第四步、啟動Mysql服務

systemctl start mysqld

檢視MySQL執行狀態,執行狀態如圖:

systemctl status mysqld.service 

 

此時MySQL已經開始正常執行。 

 第五步:設定開機啟動

systemctl enable mysqld

systemctl daemon-reload

 第六步:修改root本地登入密碼

mysql安裝完成之後,在/var/log/mysqld.log檔案中給root生成了一個臨時的預設密碼。

vi /var/log/mysqld.log

  這裡的臨時密碼  H9i?Qeuyysiq  你的可能不同,然後按 esc 再按 :q  退出。

然後進入MySQL:

[[email protected] ~]#  mysql -u root -p

Enter password: 

輸入臨時密碼 進入mysql命令列;(輸入密碼時時看不見的!)

 此時不能做任何事情,因為MySQL預設必須修改密碼之後才能操作資料庫:

(備註 mysql5.7預設密碼策略要求密碼必須是大小寫字母數字特殊字母的組合,至少8位) 

ALTER USER 'root'@'localhost' IDENTIFIED BY 'XiaoMing20181206.';

XiaoMing20181206.是你自己設定的密碼

 

成功配置。

第七步:設定允許遠端登入

Mysql預設不允許遠端登入,我們需要設定下,並且防火牆開放3306埠;

如果沒有開啟3306埠,開啟一下:

為firewalld新增開放埠

新增mysql埠3306和Tomcat埠8080

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent

然後再重新載入

firewall-cmd --reload

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'XiaoMing20181206.' WITH GRANT OPTION;

XiaoMing20181206.是遠端登入的密碼;

退出下;mysql> exit;

第八步:配置預設編碼為utf8

修改/etc/my.cnf配置檔案,在[mysqld]的最下面新增編碼配置,如下所示:

character_set_server=utf8
init_connect='SET NAMES utf8'

[[email protected] ~]# vi /etc/my.cnf

按 i 進入編輯模式,加入後按 esc 和 :wq 儲存退出。

然後重啟mysql服務;

[[email protected] ~]# systemctl restart mysqld

 檢視下編碼:

mysql> show variables like '%character%';

至此MySQL的所有配置全部完成 !!!

測試: 

如果出現2003-Cant connect to mysql server on 192.168.137.192 問題,可能是沒有3306埠:

firewall-cmd --zone=public --add-port=3306/tcp --permanent

firewall-cmd --reload

然後連線成功: