centos 7.x 安裝/卸載MySQL

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

repolist

以上,可以看到所有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

list installed

出了最後一個安裝文件,上面的都可以卸載,執行命令:

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卸載了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章