Linux CentOS 7環境下安裝MySQL
在CentOS 7中預設安裝有MariaDB,但是我們需要的是MySQL,安裝MySQL可以覆蓋MariaDB。
(注:MariaDB資料庫管理系統是MySQL的一個分支,主要由開源社群在維護,採用GPL授權許可。開發這個分支的原因之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險,因此社群採用分支的方式來避開這個風險。MariaDB的目的是完全相容MySQL,包括API和命令列,使之能輕鬆成為MySQL的代替品。)
首先需要安裝MySQL的Yum Repository。
(注:Yum幫我們管理好了各種rpm包的依賴,是基於rpm的軟體包管理器,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。)
所有的操作都是切換到root使用者下進行:
1.安裝MySQL官方的Yum Repository
[[email protected] ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
2.下載rpm包
[[email protected] ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
3.安裝MySQL服務
[[email protected] ~]# yum -y install mysql-community-server
執行安裝服務的時間比較長,耐心等待,中間有一次詢問y/n?輸入y回車。
4.啟動mysql服務
[[email protected] ~]# systemctl start mysqld.service
5.檢視mysql執行狀態
[[email protected] ~]# systemctl status mysqld.service
可以看到mysql服務的執行狀態,出現下面的資訊,其中Active後面代表狀態,啟動服務後為active (running),停止後為inactive (dead)。
重新啟動服務:service mysqld restart 停止服務:systemctl stop mysqld.service
6.安裝完成後預設有一個root使用者,初始密碼已經設定好,我們需要獲得這個初始密碼登入後再對其進行修改。通過下面的命令檢視初始密碼,冒號後面的字元就是密碼
[[email protected] ~]# grep 'temporary password' /var/log/mysqld.log
(注:為了加強安全性,MySQL5.7為root使用者隨機生成了一個密碼,在error log中,關於error log的位置,如果安裝的是RPM包,則預設是/var/log/mysqld.log。只有啟動過一次mysql才可以檢視臨時密碼。)
7.登入root使用者
[[email protected] ~]# mysql -u root -p
(注:提示輸入密碼,輸入初始密碼,使用該密碼之後需要設定自己的密碼,但是mysql對密碼有要求,我們想要設定簡單的密碼必須要修改約束,修改兩個全域性引數。)
(1)validate_password_policy代表密碼策略,預設是1指符合長度,且必須含有數字,小寫或大寫字母,特殊字元。設定為0判斷密碼的標準就基於密碼的長度了:
mysql> set global validate_password_policy=0;
(2)validate_password_length代表密碼長度,最小值為4:
mysql> set global validate_password_length=4;
(3)修改密碼為root,之後就可以使用該密碼登入了:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
8.使用資料庫
[[email protected] ~]# mysql -uroot -proot
(注:如果遠端連線資料庫時,出現不允許訪問的時候,需要對連線使用者賦予許可權。
進入mysql後依次輸入一下命令:
grant all privileges on *.* to 'root'@'%' identified by '資料庫密碼' with grant option;
flush privileges;
許可權重新整理之後,重啟mysql服務。)
在CentOS7中mysql的主要配置所在的目錄:
1./etc/my.cnf 這是mysql的主配置檔案
注:編碼問題解決辦法
[[email protected] ~]# vim /etc/my.cnf
新增內容
[client] default-character-set=utf8 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci
重啟MySQL,然後進入MySQL檢視編碼。
2./var/lib/mysql mysql資料庫的資料庫檔案存放位置
3./var/log mysql資料庫的日誌輸出存放位置