centos 7.x 安裝/卸載MySQL

centos 7.x 安裝/卸載MySQL

本篇是基於YUM Repository來安裝MySQL的,具體方法在官網可尋,在此記錄個人親身安裝過程。mysql

一、安裝必要的依賴組件

運行以下命令:linux

yum install –y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses5-devel

這個步驟不太容易出錯,若是遇到了異常,請自行百度解決方法。c++

二、下載 YUM Repository

訪問:https://dev.mysql.com/downloa...,選擇合適的版本下載。sql

也能夠直接在服務器上使用wget命令下載,好比:shell

wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm

文件體積很是小,很快就能下載完成。vim

三、選擇MySQL版本

上述下載的rpm文件實質上是一個bundle,涵蓋了多個版本的MySQL,以及一些基礎組件,默認使用的是MySQL8。centos

因此,若是你正好須要MySQL8.0版本,那麼這個小節能夠略過。不然,須要選擇所安裝的MySQL版本。bash

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

四、安裝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

五、初始化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的權限,防止「悲劇」發生。

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

相關文章
相關標籤/搜索