CentOS 7不帶Mysql數據庫了,默認的數據庫是MariaDB(Mysql的一個分支)。
可以按照以下步驟手動安裝Mysql數據庫。
1. 下載rpm安裝文件
1
|
wget http:
//repo
.mysql.com
/mysql-community-release-el7
.rpm
|
2. 執行rpm安裝
1
|
rpm -ivh mysql-community-release-el7.rpm
|
依賴解析完成后,出現下列選項:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
Dependencies Resolved
==============================================================================================================
Package Arch Version Repository Size
==============================================================================================================
Installing:
mysql-community-libs x86_64 5.6.32-2.el7 mysql56-community 2.0 M
replacing mariadb-libs.x86_64 1:5.5.47-1.el7_2
mysql-community-server x86_64 5.6.32-2.el7 mysql56-community 59 M
Installing
for
dependencies:
mysql-community-client x86_64 5.6.32-2.el7 mysql56-community 19 M
mysql-community-common x86_64 5.6.32-2.el7 mysql56-community 256 k
perl-Compress-Raw-Bzip2 x86_64 2.061-3.el7 base 32 k
perl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 base 57 k
perl-DBI x86_64 1.627-4.el7 base 802 k
perl-IO-Compress noarch 2.061-2.el7 base 260 k
perl-Net-Daemon noarch 0.48-5.el7 base 51 k
perl-PlRPC noarch 0.2020-14.el7 base 36 k
Transaction Summary
=============================================================================================================
Install 2 Packages (+8 Dependent packages)
Total download size: 82 M
Is this ok [y
/d/N
]:
|
3. 可以看出,server和client都被選擇安裝。選擇y,自動下載安裝。
4. 安裝完成后,啟動Mysql。
1
|
systemctl start mysqld.service
|
5. 設置root密碼。
1
|
update
user
set
password
=
password
(
"123456"
)
where
user
=
'root'
;
|
6. 開機自啟動。
1
2
|
vim
/etc/rc
.
local
添加service mysqld start
|
7.重要更新:
新的rpm安裝文件沒有自動yum安裝的腳本了,需要手動執行yum安裝。
即步驟2之后執行yum install mysql-server即可。
8.關於自啟動
步驟6只適用於mysqld沒有自啟動的條件下。
如果默認mysql是自啟動的,可能和rc.local中的自啟動出現亂序之類的問題。
更穩妥的一個解決辦法見:
CentOS 7 程序自啟動的問題
一、問題現象:
系統重啟后,發現mysqld服務啟動正常,但是依賴mysql數據庫的應用程序A啟動失敗。
查看日志顯示,程序A啟動的時候鏈接數據庫失敗。
二、原因分析:
mysqld服務是正常啟動的。
此時手動重啟程序A,A也正常運行。
結論:說明程序A啟動的時候,mysqld可能沒有啟動。
三、啟動順序
首先想到的就是調整mysqld服務的啟動順序,讓它高過我的程序A。
然而發現/etc/init.d路徑下沒有關於mysqld的啟動腳本。
四、解決思路
按照鏈接指示安裝的mysqld默認是自動啟動的。
可以取消mysqld的自啟動,然后寫一個啟動腳本確保它啟動在程序A啟動之前。
五、解決辦法
1. 查看系統當前默認啟動項目的方法,不再是setup之類的了。
1
|
systemctl list-unit-files
|
執行此命令能查看當前系統的服務啟動和服務狀態。
結果顯示如下:
1
2
3
4
5
6
|
...
microcode.service enabled
mysql.service enabled
mysqld.service enabled
NetworkManager-dispatcher.service enabled
...
|
2. 取消mysqld的自啟動
systemctl disable mysqld
執行該命令后再查看當前系統的服務狀態:
1
2
3
4
5
|
...
microcode.service enabled
mysqld.service disabled
NetworkManager-dispatcher.service enabled
...
|
3. 自定義/etc/rc.local
先執行systemctl start mysqld
再執行startA