Linux(CentOS7)安裝與卸載MySQL8.0圖文詳解

Mysql數據庫的安裝對於開發者來說,是我們必然會面對的問題,它的安裝過程其實並不複雜,並且網絡上的安裝教程也非常多,但是對於新手來說,各種不同形式的安裝教程,又給新手們帶來了要選擇哪種方式進行安裝的難題,而且很多時候按照教程也沒有能夠安裝成功,安裝過程出現各種各樣的錯誤。

下面記錄了我在Linux(Centos 7)環境下安裝Mysql的完整過程,實操記錄,絕非水文,如有錯誤或遺漏,歡迎指正。

一、Mysql安裝

1.下載 MySQL 所需要的安裝包

​ 網址://dev.mysql.com/downloads/mysql/

下載 MySQL 所需要的安裝包

2.Select Operating System: 選擇 Red Hat ,CentOS 是基於紅帽的,Select OS Version: 選擇 linux 7

選擇 linux 7

3.選擇 RPM Bundle 點擊 Download

選擇 RPM Bundle 點擊 Download

4.點擊 No thanks, just start my download. 進行下載

下載

5.下載好後,使用xshell連接到我們的虛擬機。

使用xshell連接到我們的虛擬機

6.通過 rpm -qa | grep mariadb 命令查看 mariadb 的安裝包

查看 mariadb 的安裝包

7.通過 rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 –nodeps 命令裝卸 mariadb

注意:mariadb-libs-5.5.60-1.el7_5.x86_64名稱根據自己實際修改

裝卸 mariadb

8.通過 rpm -qa | grep mariadb 命令再次查看 mariadb 的安裝包

查看 mariadb 的安裝包

9.通過 cd /usr/local/ 命令進入根目錄下的usr目錄下的local目錄,這個目錄是放一些本地的共享資源的

進入根目錄下的usr目錄下的local目錄

10.通過 ll 命令查看一下當前目錄下的目錄結構

通過 ll 命令查看一下當前目錄下的目錄結構

11.通過 mkdir mysql 命令 在當前目錄下創建一個名為 mysql 的目錄

創建一個名為 mysql 的目錄

12.通過 ll 命令查看一下當前目錄下的目錄結構,剛創建的 mysql 目錄有了

ll 命令查看一下當前目錄下的目錄結構

13.通過 cd mysql 命令進入 mysql 目錄

cd mysql 命令進入 mysql 目錄

14.通過 ll 命令查看一下當前目錄下的目錄結構

通過 ll 命令查看一下當前目錄下的目錄結構

15.通過xftp把剛才下載好的mysql安裝包上傳到mysql目錄

通過xftp把剛才下載好的mysql安裝包上傳到mysql目錄

16.通過 ll 命令查看一下當前目錄下的目錄結構

通過 ll 命令查看一下當前目錄下的目錄結構

17.通過 tar -xvf mysql-8.0.23-1.el7.x86_64.rpm-bundle.tar 命令解壓 tar 包

解壓 tar 包

18.通過rpm -ivh mysql-community-common-8.0.23-1.el7.x86_64.rpm –nodeps –force 命令安裝 common

安裝 common

19.通過 rpm -ivh mysql-community-libs-8.0.23-1.el7.x86_64.rpm –nodeps –force 命令安裝 libs

安裝 libs

20.通過 rpm -ivh mysql-community-client-8.0.23-1.el7.x86_64.rpm –nodeps –force 命令安裝 client

安裝 client

21.通過 rpm -ivh mysql-community-server-8.0.23-1.el7.x86_64.rpm –nodeps –force 命令安裝 server

安裝 server

22.通過 rpm -qa | grep mysql 命令查看 mysql 的安裝包

查看 mysql 的安裝包

23.通過以下命令,完成對 mysql 數據庫的初始化和相關配置

這兒特別注意:我們知道在 Linux 環境下默認是區分大小寫的,如要改變這種默認方式,需要在初始化前修改 lower_case_table_names,mysql8.0 要求我們不能在initialize之後再更改 lower_case_table_names 的值,也就是說,再通過更改 my.cnf 文件是不管用的。

初始化前,linux 下修改文件 my.cnf ,在 [mysqld] 配置節點下添加 lower-case-table-names=1,然後再執行如下命令。

mysqld --initialize;
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;

mysql始化和相關配置

查看MySQL官方文檔:

MySQL 8.0 Release Notes – Changes in MySQL 8.0.17 (2019-07-22, General Availability) – Functionality Added or Changed有記錄:

In MySQL 8.0, the lower_case_table_names variable can only be configured when the MySQL server is initializ

24.通過 cat /var/log/mysqld.log | grep password 命令查看數據庫的密碼

數據庫的密碼

25.通過 mysql -uroot -p 敲回車鍵進入數據庫登陸界面

進入數據庫登陸界面

26.輸入剛剛查到的密碼,進行數據庫的登陸,複製粘貼就行,MySQL 的登陸密碼也是不顯示的

image-20210406155534191

27.通過 ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’; 命令來修改密碼

修改密碼

28.通過 exit; 命令退出 MySQL,然後通過新密碼再次登陸

退出 MySQL,然後通過新密碼再次登陸

29.通過以下命令,進行遠程訪問的授權

create user 'root'@'%' identified with mysql_native_password by '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

遠程訪問的授權

30.通過 ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘123456’ PASSWORD EXPIRE NEVER; 命令修改加密規則,MySql8.0 版本 和 5.0 的加密規則不一樣,而現在的可視化工具只支持舊的加密方式。

image-20210406160000057

31.通過 flush privileges; 命令刷新修該後的權限

flush privileges命令刷新修該後的權限

32.通過 exit; 命令退出 MySQL。

33.通過以下命令,關閉 firewall

systemctl stop firewalld.service;
systemctl disable firewalld.service;
systemctl mask firewalld.service;

關閉 firewall

34.通過 yum -y install iptables-services 命令安裝 iptables 防火牆

安裝 iptables 防火牆

35.通過以下命令啟動設置防火牆

systemctl enable iptables;
systemctl start iptables;

啟動設置防火牆

36.通過 vim /etc/sysconfig/iptables 命令編輯防火牆,添加端口

添加端口

37.點擊 i 鍵進入插入模式

進入插入模式

38.在相關位置,寫入以下內容

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 443 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 8090 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 5888 -j ACCEPT

寫入以下內容

點擊 ESC 鍵退出插入模式,點擊 : 鍵,輸入 wq 敲回車鍵保存退出,: 為英文狀態下的

39.通過 systemctl restart iptables.service 命令重啟防火牆使配置生效

重啟防火牆使配置生效

40.通過 systemctl enable iptables.service 命令設置防火牆開機啟動

設置防火牆開機啟動

41.通過 ifconfig 命令查看 ip,得到ip後我們就可以通過mysql工具連接到我們安裝好的mysql了。

通過mysql工具連接到我們安裝好的mysql

二、Mysql卸載

1、關閉mysql

service mysqld stop

2、查看安裝的mysql

rpm -qa|grep -i mysql

查看安裝的mysql

3、卸載安裝的mysql

rpm -ev mysql-community-client-8.0.11-1.el7.x86_64 --nodeps
rpm -ev mysql-community-common-8.0.11-1.el7.x86_64 --nodeps
rpm -ev mysql-community-server-8.0.11-1.el7.x86_64  --nodeps
rpm -ev mysql-community-libs-8.0.11-1.el7.x86_64 --nodeps

4、刪除mysql相關目錄

find / -name mysql
[root@niceyoohw conf]# rm -rf /var/lib/mysql/
[root@niceyoohw conf]# rm -rf /usr/lib64/mysql
[root@niceyoohw conf]# rm -rf /etc/selinux/targeted/active/modules/100/mysql
[root@niceyoohw conf]# rm -rf /etc/selinux/targeted/tmp/modules/100/mysql

刪除mysql相關目錄

5、刪除my.cnf

rm -rf /etc/my.cnf

6、檢查卸載情況

rpm -qa|grep -i mysql

顯示為空,卸載完畢。

往期推薦

參考文章:

.NET Core部署到linux(CentOS)最全解決方案,常規篇

.NET Core部署到linux(CentOS)最全解決方案,進階篇(Supervisor+Nginx)

.NET Core部署到linux(CentOS)最全解決方案,高階篇(Docker+Nginx 或 Jexus)

.NET Core部署到linux(CentOS)最全解決方案,入魔篇(使用Docker+Jenkins實現持續集成、自動化部署)

一網打盡,一文講通虛擬機VirtualBox及Linux使用

常用linux命令,開發必備

全新跨平台版本.NET敏捷開發框架-RDIFramework.NET5.0震撼發佈

RDIFramework.NET Web版報表管理-助力企業高效智能圖表

RDIFramework.NET敏捷開發框架助力企業BPM業務流程系統的開發與落地

通過SignalR技術整合即時通訊(IM)在.NET敏捷開發框架中落地

RDIFramework.NET WinForm版新增報表管理功能模塊

RDIFramework.NET WinForm版新增通知公告、系統新聞模塊

RDIFramework.NET — 基於.NET的快速信息化系統開發框架 — 系列目錄

RDIFramework.NET敏捷開發框架 ━ 工作流程組件介紹

微信公眾號開發系列-玩轉微信開發-目錄匯總

一文講通.NET Core部署到Windows IIS最全解決方案

常用linux命令,開發必備


一路走來數個年頭,感謝RDIFramework.NET框架的支持者與使用者,大家可以通過下面的地址了解詳情。

RDIFramework.NET官方網站://www.rdiframework.net/

RDIFramework.NET官方博客://blog.rdiframework.net/

特別說明,框架相關的技術文章請以官方網站為準,歡迎大家收藏!

RDIFramework.NET框架由海南國思軟件科技有限公司專業團隊長期打造、一直在更新、一直在升級,請放心使用!

歡迎關注RDIFramework.NET框架官方微信公眾號(微信號:guosisoft),及時了解最新動態。

使用微信掃描二維碼立即關注

微信二維碼