本篇文章主要介紹了centos 7安裝mysql并設置開機自啟動的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
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. 查看系統當前默認mysql的方法,不再是setup之類的了。
systemctl?list-unit-files
?執行此命令能查看當前系統的服務啟動和服務mysql。
?結果顯示如下:
?... ?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? ?...
3. 自定義/etc/rc.local
先執行systemctl start mysqld
再執行startA