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

.NET快速開發框架發表於2021-04-28

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

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

一、Mysql安裝

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

​ 網址:https://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 敲Enter鍵進入資料庫登陸介面

進入資料庫登陸介面

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 敲Enter鍵儲存退出,: 為英文狀態下的

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官方網站:http://www.rdiframework.net/

RDIFramework.NET官方部落格:http://blog.rdiframework.net/

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

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

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

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

微信二維碼

相關文章