最近做一個項目,需要用centos做資料服務器,用mysql資料庫,就需要安裝mysql資料庫,之前沒接觸過centos,因此什麼也不懂,就從網上也查了很多資料,都覺得不是最好的方法。最後結合mysql官方資料和網友的資料,最後用rpm方式安裝,並總結給其他人以參考。
首先開啟mysql管網,找到“yum repository”開啟頁面或者直接開啟如下連結
http://dev.mysql.com/downloads/repo/yum/
,找到自己需要的,點擊download,下載rpm檔案,在centos中下載完成house可以用軟體管理器安裝,也可以自己用命令列安裝
sudo rpm -Uvh 'filename'
完成安裝。
輸入
yum repolist all | grep mysql
可以查看所有的mysql對應的rpm包,如果是安裝之前的版本,則需要進行相應的設定,開啟
/etc/yum.repos.d/mysql-community.repo
檔案,設定對應版本的enabled屬性,1是啟用,0是禁用,如果安裝當前的最新版本,則無需進行任何 設定。
輸入以下命令開始安裝mysql
sudo yum install mysql-community-server
等待安裝完成,輸入以下命令,啟動mysql服務
sudo service mysqld start
啟動完成,house可以查看mysql服務狀態
sudo service mysqld status
如果安裝的是5.7版本,在服務啟動時,因為資料目錄是空的,會產生以下操作:
- 初始化伺服器
- 在資料目錄中產生SSL認證和密鑰檔案
- 安裝並啟用 validate_password 外掛程式
- 超級使用者賬戶'root'@'localhost'被建立,超級使用者密碼被設定並儲存在error記錄檔,如需要顯示它,則執行如下命令
sudo grep 'temporary password' /var/log/mysqld.log
此時會產生一個隨機密碼,在命令列中輸入
mysql -uroot -p
加上剛才的隨機密碼,登入mysql。
用該密碼登入到服務端後,必須馬上修改密碼,不然會報如下錯誤(本地方參考http://www.cnblogs.com/ivictor/p/5142809.html):
mysql> select user();
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
如果只是修改為一個簡單的密碼,會報以下錯誤:
mysql> ALTER USER USER() IDENTIFIED BY '12345678';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
這個其實與validate_password_policy的值有關。
validate_password_policy有以下取值:
| Policy |
Tests Performed |
| 0 or LOW |
Length |
| 1 or MEDIUM |
Length; numeric, lowercase/uppercase, and special characters |
| 2 or STRONG |
Length; numeric, lowercase/uppercase, and special characters; dictionary file |
預設是1,即MEDIUM,所以剛開始設定的密碼必須符合長度,且必須含有數字,小寫或大寫字母,特殊字元。
有時候,只是為了自己測試,不想密碼設定得那麼複雜,譬如說,我只想設定root的密碼為123456。
必須修改兩個全域參數:
首先,修改validate_password_policy參數的值
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
更改之後可以修改為你自己的密碼。
設定完成後需要設定mysql的遠端存取許可權,這裡有兩個地方需要設定,一個是對外部ip地址開放,一個是連接埠開放。
最常用的設定是,通過如下命令,設定mysql授權
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
如果要對某一個ip地址設定授權,則需要把%改為你的ip地址,設定完成,重新授權表
FLUSH PRIVILEGES;
然後exit退出mysql,並重新啟動mysql
service mysqld restart
在centos7中通過 firewall-cmd設定3306連接埠開放
firewall-cmd --zone=public --add-port=3306/tcp --permanent
設定完成,重新載入firewall
firewall-cmd --reload
通過命令來查看3306連接埠是否設定成功
firewall-cmd --list-all-zones
至此,centos7中mysql安裝並配置完成
感謝閱讀,希望能協助到大家,謝謝大家對本站的支援!