解鎖MySQL不一樣的知識

1. 安裝MariaDB

可以參考官方安裝方式:https://downloads.mariadb.org/mariadb/repositories/#distro=CentOS&distro_release=centos7-ppc64le–centos7&mirror=tuna&version=10.4

① 添加MariaDB yum倉庫

1、切換到yum.repos.d目錄下
[root@instance-mtfsf05r ~]# cd /etc/yum.repos.d/
2、創建並且編輯MariaDB.repo yum倉庫文件
[root@instance-mtfsf05r yum.repos.d]# vim MariaDB.repo
3、將下面的內容寫入到MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
PS:還可以指定指定清華源,下載更快
[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.4/centos7-amd64
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

清理yum緩存:yum clean all

生成緩存:yum makecache

② 安裝MariaDB

sudo yum install MariaDB-server MariaDB-client -y

③ MariaDB的卸載

1、使用yum卸載mariadb
[root@instance-mtfsf05r ~]# yum remove mariadbdb
2、刪除數據庫配置文件
[root@instance-mtfsf05r ~]# rm -f /etc/my.cnf
3、刪除數據目錄
[root@instance-mtfsf05r ~]# rm -rf  /var/lib/mysql
2. 啓動/關閉相關命令
  • 啓動Mariadb:systemctl start mariadb
  • 查看MariaDB的啓動狀態:systemctl status mariadb
  • 停止Mariadb:systemctl stop mariadb
  • 重啓Mariadb:systemctl restart mariadb
  • 設置開機啓動:systemctl enable mariadb
3. 初始化MariaDB
在確認 MariaDB 數據庫軟件程序安裝完畢併成功啓動後請不要立即使用。爲了確保數據 庫的安全性和正常運轉,需要先對數據庫程序進行初始化操作。這個初始化操作涉及下面 5 個 步驟。
➢ 設置 root 管理員在數據庫中的密碼值(注意,該密碼並非 root 管理員在系統中的密 碼,這裏的密碼值默認應該爲空,可直接按回車鍵)。
➢ 設置 root 管理員在數據庫中的專有密碼。
➢ 隨後刪除匿名賬戶,並使用 root 管理員從遠程登錄數據庫,以確保數據庫上運行的業
務的安全性。
➢ 刪除默認的測試數據庫,取消測試數據庫的一系列訪問權限。
➢ 刷新授權列表,讓初始化的設定立即生效。

確保mariadb服務器啓動後,執行命令初始化:mysql_secure_installation,執行後會問你這幾個問題,需要y然後設置即可。

Set root password? [Y/n] 
Remove anonymous users? [Y/n] 
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n]
4. 基本命令
  • 修改mysql密碼:MariaDB [(none)]> set password=password('123456');
  • 創建其它數據庫用戶:MariaDB [(none)]> create user thanlon@'%' identified by '123456';
  • 查看那thanlon數據庫用戶的相關信息:
MariaDB [mysql]> use mysql
MariaDB [mysql]> select *from user where user='thanlon'\G;
MariaDB [mysql]> select host,user,password from user where user='thanlon'\G;

如果切換到thanlon用戶是無法查看到完整的數據庫列表。

5. 權限的配置

mysql使用grant命令對賬戶進行授權:

grant 權限 on 數據庫.表名 to 賬戶@主機名           #對特定數據庫中的特定表授權
grant 權限 on 數據庫.* to 賬戶@主機名             #對特定數據庫中的所有表給與授權
grant 權限1,權限2,權限3 on *.* to 賬戶@主機名     #對所有庫中的所有表給與多個授權
grant all privileges on *.* to 賬戶@主機名      #對所有庫和所有表授權所有權限

給thanlon所有數據庫所有表的權限:MariaDB [(none)]> grant all privileges on *.* to thanlon@'%';
給thanlon創建數據庫數據表的權限:MariaDB [(none)]> grant create on *.* to thanlon@'%';
給thanlon刪除數據庫數據表的權限:MariaDB [(none)]> grant drop on *.* to thanlon@'%';
查看授權給某個用戶的權限:MariaDB [(none)]> show grants for thanlon@'%';
移除權限:MariaDB [(none)]> revoke all privileges on *.* from thanlon@'%';

6. 端口的修改
# 查看數據庫端口
MariaDB [(none)]> show global variables like 'port'
# 修改配置文件
[root@master ~]$ vim /etc/my.cnf
# 在[mysqld]的下面添加或修改port=3333
[mysqld]
port=3333
# 重啓mysql
[root@master ~]$ systemctl restart mysql
# 查看更改後的端口
MariaDB [(none)]> show global variables like 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3333  |
+---------------+-------+
1 row in set (0.001 sec)
7. 編碼的配置

查看數據庫中編碼:\s

Server characterset:	latin1
Db     characterset:	latin1
Client characterset:	utf8
Conn.  characterset:	utf8

需要都配置成utf8的編碼,才能顯示中文。所以需要修改配置文件,編輯配置文件vim /etc/my.cnf,在mysqld下輸入:

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
log-error=/var/log/mysqld.log
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

重啓mysql:systemctl restart mysql,此時輸入\s,查看編碼:

Server characterset:	utf8
Db     characterset:	utf8
Client characterset:	utf8
Conn.  characterset:	utf8
8. 遠程登錄的配置

授權配置:遠程連接設置所有庫和所有表的所有權限,賦值權限給所有ip地址的thanlon用戶

# 授權
grant all privileges on *.* to root@'%';
# 刷新權限,防止授權沒有生效
flush privileges;
# 查看權限
show grants for root@'%';
# 移除權限
revoke all privileges on *.* from root@'%';

遠程登錄:

thanlon@plus-book:~$ mysql -uroot -p -h10.0.0.2
thanlon@plus-book:~$ mysql -uroot -p -h10.0.0.3

如果遇到問題,查看是不是防火牆的問題,可以關閉防火牆:

1、查看防火牆的狀態
[root@instance-mtfsf05r ~]# getenforce
2、清空防火牆規則																
[root@instance-mtfsf05r ~]# iptables -F
3、關閉防火牆
[root@instance-mtfsf05r ~]# systemctl stop firewalld
4、移除開機自啓
[root@instance-mtfsf05r ~]# systemctl disable firewalld
9. 數據的備份與恢復

mysqldump命令用於備份數據庫的數據,備份的命令是:

[root@instance-mtfsf05r ~]# mysqldump -uroot -p --all-databases > all.dump

刪除一個數據庫,如何恢復,可以通過備份文件進行恢復:

1、登錄數據庫後使用source
[root@instance-mtfsf05r ~]# source all.dump
2、登錄數據庫的時候,使用<是重定向寫入符號寫入數據庫
[root@instance-mtfsf05r ~]# mysql -uroot -p < all.dump
10. 主從複製

mysql數據庫的主從複製方案,是其自帶的功能。並且主從複製並不是複製磁盤上的數據庫文件,而是通過binlog日誌複製到需要同步的從服務器上。mysql數據庫支持單向、雙向、鏈式級聯,等不同業務場景的複製。在複製的過程中,一臺服務器充當主服務器(master),接收來自用戶的內容更新。而一個或多個其他的服務器充當從服務器(slave),接收來自master上binlog文件的日誌內容,解析出sql,重新更新到自己的服務器上,使得主從服務器數據達到一致。

① 主從複製的架構

  • 一主一從,單向主從同步模式,只能在Master端寫入數據
    在這裏插入圖片描述
  • 一主多從
    在這裏插入圖片描述
  • 雙主複製架構,此架構可以在master或master進行數據寫入,或者兩端同事寫入(特殊設置):
    在這裏插入圖片描述

注意:在生產環境中,mysql主從複製都是異步的複製方式,即不是嚴格的實時複製,但是給用戶的體驗都是實時的。mysql主從複製集羣功能使得mysql數據庫支持大規模高併發讀寫成爲可能,且有效的保護了服務器宕機的數據備份。

② 主從複製的應用場景
利用複製功能當Master服務器出現問題時,我們可以人工的切換到從服務器繼續提供服務,此時服務器的數據和宕機時的數據幾乎完全一致。複製功能也可用作數據備份,但是如果人爲的執行drop,delete等語句刪除,那麼從庫的備份功能也就失效。

③ 主從複製的實現原理
在這裏插入圖片描述

1、master將改變記錄到二進制日誌(binary log)中(這些記錄叫做二進制日誌事件,binary log events); 
2、slave將master的binary log events拷貝到它的中繼日誌(relay log)3、slave重做中繼日誌中的事件,將改變反映它自己的數據。
11. 主從複製的實現

實現主從配置的環境是需要兩臺服務器,一臺服務器安裝主數據庫,一臺安裝從數據庫。如果你有兩臺雲服務器,這將節省下很多安裝系統的時間。如果你沒有云服務器,也是沒有關係的。我們可以VMware軟件虛擬化兩臺服務器,注意這兩臺服務器要在使用NAT方式連接網絡,並且要配置靜態ip,還要在同一個局域網中。具體配置可以到網上搜索,配置實在是有問題可以在評論區留言。我這裏虛擬化兩臺服務器,ip地址分別是10.0.0.210.0.0.3,前者安裝主庫,後者安裝從庫。主從複製有好三種架構,我們這裏使用其中的一種:一主一從。
在這裏插入圖片描述
① 主庫的配置

  • 修改配置文件
[root@master ~]# vim /etc/my.cnf
在配置文件的[mysqld]下追加下面的內容(server-id服務的唯一標識,主從之間都必須不同;log-bin啓動二進制日誌名稱爲mysql-bin):
[mysqld]
server-id=1
log-bin=mysql-bin
  • 重啓mysql數據庫
[root@master ~]# systemctl restart mariadb
重啓後,mysql主庫已經開啓同步功能,創建了mysql-bin日誌文件
可以通過下面的命令查看生成的二進制文件:
[root@master ~]# ls /var/lib/mysql
  • 創建用於主從同步的賬號並賦予權限
# 創建用於主從同步的賬號
MariaDB [(none)]> create user 'slave'@'%' identified with mysql_native_password by '123456';
# 爲這個賬戶賦予slave權限
MariaDB [(none)]> grant replication slave on *.* to slave@'%';
# 刷新權限列表,防止沒有生效
MariaDB [(none)]> flush privileges;
# 檢查一下主庫創建的賬號信息
MariaDB [(none)]> select user,host from mysql.user;
# 查看這個賬戶的權限
MariaDB [(none)]> show grants for slave@'%';
  • 主庫的鎖表,防止數據寫入
MariaDB [(none)]> flush table with read lock;
  • 檢查主庫的日誌狀態,查看日誌位置(鎖表是防止日誌位置發生變化)
MariaDB [(none)]> show master status
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      632 |              |                  |
+------------------+----------+--------------+------------------+
  • 數據備份,導出主庫的已經存在數據,然後用於從庫寫入
# 將主庫數據全部導出到/tmp/my_all.dump文件中
[root@master ~]# mysqldump -uroot -p  --all-databases > /tmp/my_all.dump
# 上傳到從庫所在服務器的/tmp/目錄下
[root@master ~]# scp /tmp/my_all.dump root@10.0.0.3:/tmp

② 從庫的配置

  • 在從庫上導入主庫的最新數據,保證數據的一致性
1、登錄從庫
3、刪除從庫所有的數據庫
2、導入數據
MariaDB [(none)]> source /tmp/my_all.dump
  • 修改從庫數據庫配置文件,添加用於同步的配置,和主庫區別開
[root@slave ~]# vi /etc/my.cnf
# 在[mysqld]下追加下面的內容,server-id不一定是2,只要和主庫配置的不同即可
[mysqld]
character-set-server=utf8
server-id=2
  • 重啓數據庫
[root@slave ~]# systemctl restart mariadb
  • 登錄數據庫檢查從庫的各項參數
MariaDB [(none)]> show variables like 'server_id';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| server_id     | 2     |
+---------------+-------+
1 row in set (0.001 sec)

MariaDB [(none)]> show variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | OFF   |
+---------------+-------+
  • 將從庫同步於主庫
#主庫所在的主機 master_host
#用於主從同步的賬號 master_user和密碼master_password
#主庫配置的日誌文件 master_log_file
#和主庫日誌文件的起始位置 master_log_pos
#(可在主庫中執行 show master status;查看master_log_file和master_log_pos)
MariaDB [(none)]> change master to master_host='10.0.0.2',master_user='slave', master_password='123456', master_log_file='mysql-bin.000001', master_log_pos=632;
  • 開啓主從複製
MariaDB [(none)]> start slave;
  • 檢查複製的狀態
MariaDB [(none)]> show slave status\G;
# 檢查從庫同步參數,這兩條參數都爲YES說明配置成功
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

③ 測試主從同步

  • 主庫中的操作
# 主庫解鎖
MariaDB [(none)]> unlock tables;
# 查看主庫當前數據庫
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
# 主庫中創建test數據庫
MariaDB [(none)]> create database test;
Query OK, 1 row affected (0.001 sec)
# 查看創建的數據庫
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.001 sec)
  • 從庫中的操作
# 登錄從數據庫後,查看當前數據庫,發現從苦衷出現 test 數據庫
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.001 sec)
12. 主從複製中遇到的問題

問題1:Authentication requires secure connection.,具體報錯信息如下:

Last_IO_Error: error connecting to master '[email protected]:33221' - retry-time: 60 retries: 1 message: Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection.

問題分析與解決:主庫在創建用於主從同步的賬號時加上with mysql_native_password,即:create user 'slave'@'%' identified with mysql_native_password by '123456',操作具體步驟如下:

mysql> create user 'slave'@'%' identified with mysql_native_password by 'MysqlSlave018018!';
Query OK, 0 rows affected (0.00 sec)

mysql> show grants for slave@'%';
+-----------------------------------------------+
| Grants for slave@%                            |
+-----------------------------------------------+
| GRANT REPLICATION SLAVE ON *.* TO `slave`@`%` |
+-----------------------------------------------+
1 row in set (0.00 sec)

問題2:Operation CREATE USER failed for 'slave'@'%'' on query,具體報錯信息如下:

Last_SQL_Error: Error 'Operation CREATE USER failed for 'slave'@'%'' on query. Default database: 'mysql'. Query: 'CREATE USER 'slave01'@'%' IDENTIFIED WITH 'caching_sha2_password' AS '$A$005+7{d%k`?DtShA3dAwGMNco97UMbZXL.G2SF587N1giGMn6wU5btRJ2''

問題分析與解決:當前已經創建過slave這個用戶,已存在該用戶的授權信息。需要將該用戶從user表中刪除,然後重新創建該用戶並授予slave權限。具體操作如下:

mysql> delete from user where user='slave';
Query OK, 1 row affected (0.00 sec)

mysql> select user,host,plugin from user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
4 rows in set (0.00 sec)

mysql> create user 'slave'@'%' identified with mysql_native_password by '123456';
Query OK, 0 rows affected (0.01 sec)

mysql> grant replication slave on *.* to 'slave'@'%';
Query OK, 0 rows affected (0.01 sec)

問題3:Can't connect to MySQL server on '106.12.115.136' (111),具體報錯信息如下:

Last_IO_Error: error connecting to master '[email protected]:3306' - retry-time: 60 retries: 1 message: Can't connect to MySQL server on '106.12.115.136' (111)

問題分析與解決:檢查主庫MySQL數據庫的端口,如果主庫的端口不是默認端口,那麼就需要指定端口,mysql> change master to master_host='106.12.115.101',master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=509,master_port=3307;

13. 安裝MySQL

本文第三部分,也就是“MySQL相關”這部分,我們安裝使用的是MariaDB。雖然MariaDB和MySQL基本沒有什麼區別,但有些同學可能就想安裝使用MySQL。爲滿足大家的需求,所以這裏還是以實戰操作的方式和大家分享MySQL 8.0的安裝過程。

首先你需要卸載服務器上已經安裝的MySQ,這個可以根據你的安裝方式自行卸載。查詢服務器中是否有以rpm包方式安裝的MySQL,可以使用rpm -qa | grep -i mysql命令。使用whereis mysqlfind / -name mysql命令可以查看與mysql相關的目錄以及文件,如:

[root@slave01 ~]# whereis mysql
mysql:[root@slave01 ~]# 
[root@slave01 ~]# find / -name mysql
/var/lib/mysql
/var/lib/mysql/mysql
/etc/selinux/targeted/active/modules/100/mysql
[root@slave01 ~]# rm -rf /var/lib/mysql/
[root@slave01 ~]# rm -rf /etc/selinux/targeted/active/modules/100/mysql/
[root@slave01 ~]# find / -name mysql	
[root@slave01 ~]# 

我們使用安裝包離線安裝,需要下載Mysql離線安裝包,官網MySQL 8.0下載鏈接。我的服務器操作系統是Centos7,我這裏選擇Centos7版本的MySQL。普及一下,Centos系統是Red Hat Linux的開源版本,相較於Red Hat Linux,其免費開源的特性比較受用戶青睞。但是Red Hat Linux有專門的人員提供企業及技術支持,Centos卻沒有。圖示如下:
在這裏插入圖片描述
可以本地下載完成後上傳到服務器,也可以複製下載鏈接,使用wget命令下載。我這裏直接在服務器環境下使用命令下載,下載完成後即可開始MySQL的安裝,操具體作如下:

# 下載MySQL 8.0的安裝包
[root@slave01 ~]# wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar
# 解壓安裝包
[root@slave01 ~]# tar xvf mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar 
mysql-community-libs-8.0.18-1.el7.x86_64.rpm
mysql-community-devel-8.0.18-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.18-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.18-1.el7.x86_64.rpm
mysql-community-common-8.0.18-1.el7.x86_64.rpm
mysql-community-test-8.0.18-1.el7.x86_64.rpm
mysql-community-server-8.0.18-1.el7.x86_64.rpm
mysql-community-client-8.0.18-1.el7.x86_64.rpm

解壓完成後,會有如上所示8個rpm包。我們只需要按順序安裝其中的四個包,因存在包與包之間的依賴關係,所以需要按照順序,具體操作如下:

# 安裝mysql-community-common
[root@slave01 ~]# rpm -ivh mysql-community-common-8.0.18-1.el7.x86_64.rpm
# 安裝mysql-community-libs
[root@slave01 ~]# rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm
# 安裝mysql-community-client
[root@slave01 ~]# rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm
# 安裝mysql-community-server
[root@slave01 ~]# rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm

安裝完畢後,需要初始化數據庫。MySQL 8.0不再有 my.ini 配置文件,我們通過mysqld --initialize --console命令可以自動生成MySQL的初始化配置(data文件目錄等)。執行mysql_secure_installation命令做一些常規化安全設置:

# 初始化MySQL數據庫
[root@slave01 ~]# mysqld --initialize --console
# 開啓MySQL服務
[root@slave01 ~]# systemctl start mysqld

如果開啓數據庫失敗,遇到如下問題:

Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

你需要這樣操作(如果沒有遇到跳過這部分):

# 刪除/var/lib/mysql目錄
[root@slave01 ~]# rm -rf /var/lib/mysql
# 開啓MySQL服務
[root@slave01 ~]# systemctl start mysqld
# 查看MySQL的開啓狀態
[root@slave01 ~]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 六 2019-12-21 13:11:33 CST; 2min 42s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 30057 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 30139 (mysqld)
   Status: "Server is operational"
   CGroup: /system.slice/mysqld.service
           └─30139 /usr/sbin/mysqld

不論是不帶密碼使用mysql命令還是使用mysql -uroot -p都是是不能登錄的:

[root@slave01 ~]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@slave01 ~]# mysql -uroot -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

需要設置root密碼:

# 編輯配置文件
[root@slave01 ~]# vim /etc/my.cnf

在末行加入skip-grant-tables參數,表示跳過輸入密碼,如下圖所示:
在這裏插入圖片描述
保存退出後要重啓MySQL服務。使用mysqlmysql -uroot -p命令可以免密直接登錄數據庫:

[root@slave01 ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.18 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

修改密碼的操作如下:

# 選擇數據庫
mysql> use mysql
# 將user表中root字段對應的authentication_string字段清空
mysql> update user set authentication_string='' where user='root';
# 退出MySQL
mysql> exit
# 編輯配置文件,將參數skip-grant-tables註釋掉或者刪掉
[root@slave01 ~]# vim /etc/my.cnf
# 重啓MySQL服務
[root@slave01 ~]# systemctl restart mysqld
# 再次登錄MySQL
[root@slave01 ~]# mysql
# 爲root用戶設置密碼,要注意密碼不能設置得太簡單,否則系統還會提示你再次輸入
mysql> alter user 'root'@'localhost' identified by 'Root123456!';

退出數據庫,重新登錄時要使用設置好的密碼登錄。至此,安裝與配置已完成,有問題可以在評論區留言。

14. 卸載MySQL
# 查看已安裝的與mysql有關的rpm包
[root@slave01 ~]# rpm -qa |grep -i mysql
mysql-community-libs-8.0.18-1.el7.x86_64
mysql-community-common-8.0.18-1.el7.x86_64
mysql-community-client-8.0.18-1.el7.x86_64
mysql-community-server-8.0.18-1.el7.x86_64
# 接下來可以一個個刪除,如果存在依賴,被依賴的包被刪除,依賴的包也會被刪除
[root@slave01 ~]# yum remove mysql-community-libs-8.0.18-1.el7.x86_64
[root@slave01 ~]# yum remove mysql-community-common-8.0.18-1.el7.x86_64
# 查找mysql相關目錄並刪除
[root@slave01 ~]# find / -name mysql
/var/lib/mysql
/var/lib/mysql/mysql
[root@slave01 ~]# rm -rf /var/lib/mysql/
# 刪除配置文件(這裏可能是卸載安裝包的時候一起被刪除)
[root@slave01 ~]# rm -rf /etc/my.cnf.backup 
[root@slave01 ~]# rm -rf /etc/my.cnf.rpmsave 
# 刪除/var/log/mysqld.log,如果不刪除這個文件,會導致新安裝的mysql無法生存新密碼,導致無法登陸
[root@slave01 ~]# rm -rf /var/log/mysqld.log
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章