centos 7.x 安裝/卸載MySQL
本篇是基於YUM Repository來安裝MySQL的,具體方法在官網可尋,在此記錄我的親身安裝過程。
1、安裝必要的依賴組件
運行如下命令:
yum install –y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses5-devel
這個步驟不太容易出錯,如果遇到了異常,請自行百度解決方法。
2、下載 YUM Repository
訪問:https://dev.mysql.com/downloa...,選擇合適的版本下載。
也可以直接在服務器上使用wget命令下載,比如:
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
文件體積非常小,很快就能下載完成。
3、選擇MySQL版本
上述下載的rpm文件實質上是一個bundle,涵蓋了多個版本的MySQL,以及一些基礎組件,默認使用的是MySQL8。
所以,如果你正好需要MySQL8.0版本,那麼這個小節可以略過。否則,需要選擇所安裝的MySQL版本。
centos7默認是沒有MySQL相關的repository,所以需要我們手動將剛剛下載好的repository加入到系統中去。
運行如下命令即可:
yum localinstall mysql80-community-release-el7-3.noarch.rpm
中途會讓你確認,輸入“y”即可。接下來運行如下命令來確認是否成功:
yum repolist all | grep mysql
以上,可以看到所有MySQL版本的啓用狀態,目前是mysql80-community處於enabled狀態。假設要安裝MySQL5.7版本,需要啓用mysql57-community,並且禁用mysql80-community。
yum-config-manager --enable mysql57-community
yum-config-manager --disable mysql80-community
如果系統提示:
-bash: yum-config-manager: command not found
那就需要手動編輯:
vim /etc/yum.repos.d/mysql-community.repo
裏面的內容簡單易懂,根據自己的需求,改變enabled的值,其他內容不用改動。修改完成後,以防改錯,可以運行如下命令來查看究竟啓用了哪個版本的MySQL:
yum repolist enabled | grep mysql
4、安裝MySQL服務
運行命令:
yum install mysql-community-server
中間會有兩次確認,都輸入“y”即可。一切順利,啓動MySQL服務。
systemctl start mysqld.service
如果想看MySQL的運行狀態,可以運行如下命令:
systemctl status mysqld.service
可能有讀者想知道MySQL的安裝目錄,這裏解釋一下。
運行腳本:/usr/bin
mysqld服務腳本: /usr/sbin
MySQL數據目錄:/var/lib/mysql
MySQL日誌文件:/var/log/mysqld.log
5、初始化root賬戶
至此,MySQL服務安裝成功了,但是還不知道root密碼,需要重置。
但是,初次安裝MySQL,會自動生成一個臨時密碼,這個密碼被寫入在了日誌文件中,運行命令查看:
cat /var/log/mysqld.log | grep 'temporary password'
知道初始密碼後,必須馬上修改。憑此臨時密碼,先登錄:
mysql -u root -p
登錄進去後,除了修改密碼,其他的操作是不被允許的,所以先把新密碼設置好:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
至此,root密碼被修改了,但是root賬戶還不能遠程登錄。
解決的辦法有兩個,其一是將root賬戶的host改爲“%”,可以直接用以下的UPDATE語句:
UPDATE mysql.user SET host = '%' WHERE user='root';
其二,是新建一個賬戶,並給賬戶授權:
CREATE USER 'admin'@'%' IDENTIFIED BY 'new_password';
GRANT ALL ON *.* TO 'admin'@'%';
注意:以上都需要最後運行一條命令才能生效:
FLUSH PRIVILEGES;
實際上,應該嚴禁直接使用root賬戶,僅限運維人員本地登錄纔是對的。所以,在實際工作中,可以更爲精細化的管理MySQL的權限,防止“悲劇”發生。
6、卸載MySQL
官方並未給出MySQL的卸載過程,但是可以類比Windows操作系統。在Windows上卸載軟件是一件很容易的事情,在centos上也可以用類似的思維模式,只不過安裝程序不同罷了。Windows可以更爲自動化,而linux上還需要很多手動操作才行。
本小節內容並非標準操作,可能導致卸載失敗,請讀者自行甄別。
先把mysql服務停止:
systemctl stop mysqld.service
上述安裝過程中的rpm文件其實就相當於Windows上的msi安裝文件,在centos上也可以管理已安裝的軟件,運行如下命令查看所安裝的MySQL:
yum list installed | grep mysql
出了最後一個安裝文件,上面的都可以卸載,執行命令:
yum remove mysql-community-client mysql-community-common mysql-community-server mysql-community-libs mysql-community-libs-compat
最後,還要消滅MySQL的殘留文件,先用命令查找出MySQL相關的文件:
whereis mysql
當然,find
命令也可以,這樣的話就只能全盤掃描了。
find / -name mysql
將列出來的內容通過 rm
命令刪除掉即可。
至此,就可以將整個MySQL卸載了。