CentOS 7安裝Mysql並設置開機自啟動的方法


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM