centos 7不帶mysql資料庫了,預設的資料庫是mariadb(mysql的一個分支)。
可以依照下列步驟手動安裝mysql資料庫。
1. 下載rpm安裝檔
wget http://repo.mysql.com/mysql-community-release-el7.rpm
2. 執行rpm安裝
rpm -ivh mysql-community-release-el7.rpm
依賴解析完成後,出現下列選項:
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。
systemctl start mysqld.service
5. 設定root密碼。
update user set password=password("123456") where user='root';
6. 開機自啟動。
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之類的了。
systemctl list-unit-files
執行此指令可查看目前系統的服務啟動和服務狀態。
結果顯示如下:
... microcode.service enabled mysql.service enabled mysqld.service enabled networkmanager-dispatcher.service enabled ...
2. 取消mysqld的自啟動
systemctl disable mysqld
##執行此指令後再檢視目前系統的服務狀態:... microcode.service enabled mysqld.service disabled networkmanager-dispatcher.service enabled ...
以上是CentOS7怎麼安裝Mysql並設定開機自啟動的詳細內容。更多資訊請關注PHP中文網其他相關文章!