Mysql資料庫的安裝對於開發者來說,是我們必然會面對的問題,它的安裝過程其實並不複雜,並且網路上的安裝教程也非常多,但是對於新手來說,各種不同形式的安裝教程,又給新手們帶來了要選擇哪種方式進行安裝的難題,而且很多時候按照教程也沒有能夠安裝成功,安裝過程出現各種各樣的錯誤。
下面記錄了我在Linux(Centos 7)環境下安裝Mysql的完整過程,實操記錄,絕非水文,如有錯誤或遺漏,歡迎指正。
一、Mysql安裝
1.下載 MySQL 所需要的安裝包
網址:https://dev.mysql.com/downloads/mysql/
2.Select Operating System: 選擇 Red Hat ,CentOS 是基於紅帽的,Select OS Version: 選擇 linux 7
3.選擇 RPM Bundle 點選 Download
4.點選 No thanks, just start my download. 進行下載
5.下載好後,使用xshell連線到我們的虛擬機器。
6.通過 rpm -qa | grep 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名稱根據自己實際修改
8.通過 rpm -qa | grep mariadb 命令再次檢視 mariadb 的安裝包
9.通過 cd /usr/local/ 命令進入根目錄下的usr目錄下的local目錄,這個目錄是放一些本地的共享資源的
10.通過 ll 命令檢視一下當前目錄下的目錄結構
11.通過 mkdir mysql 命令 在當前目錄下建立一個名為 mysql 的目錄
12.通過 ll 命令檢視一下當前目錄下的目錄結構,剛建立的 mysql 目錄有了
13.通過 cd mysql 命令進入 mysql 目錄
14.通過 ll 命令檢視一下當前目錄下的目錄結構
15.通過xftp把剛才下載好的mysql安裝包上傳到mysql目錄
16.通過 ll 命令檢視一下當前目錄下的目錄結構
17.通過 tar -xvf mysql-8.0.23-1.el7.x86_64.rpm-bundle.tar 命令解壓 tar 包
18.通過rpm -ivh mysql-community-common-8.0.23-1.el7.x86_64.rpm --nodeps --force 命令安裝 common
19.通過 rpm -ivh mysql-community-libs-8.0.23-1.el7.x86_64.rpm --nodeps --force 命令安裝 libs
20.通過 rpm -ivh mysql-community-client-8.0.23-1.el7.x86_64.rpm --nodeps --force 命令安裝 client
21.通過 rpm -ivh mysql-community-server-8.0.23-1.el7.x86_64.rpm --nodeps --force 命令安裝 server
22.通過 rpm -qa | grep 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官方文件:
- 5.7 官方文件:Identifier Case Sensitivity:https://dev.mysql.com/doc/refman/5.7/en/identifier-case-sensitivity.html
- 8.0 官方文件:Identifier Case Sensitivity:https://dev.mysql.com/doc/refman/8.0/en/identifier-case-sensitivity.html
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 的登陸密碼也是不顯示的
27.通過 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; 命令來修改密碼
28.通過 exit; 命令退出 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 的加密規則不一樣,而現在的視覺化工具只支援舊的加密方式。
31.通過 flush privileges; 命令重新整理修該後的許可權
32.通過 exit; 命令退出 MySQL。
33.通過以下命令,關閉 firewall
systemctl stop firewalld.service;
systemctl disable firewalld.service;
systemctl mask firewalld.service;
34.通過 yum -y install iptables-services 命令安裝 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解除安裝
1、關閉mysql
service mysqld stop
2、檢視安裝的mysql
rpm -qa|grep -i 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
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使用
全新跨平臺版本.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最全解決方案
一路走來數個年頭,感謝RDIFramework.NET框架的支持者與使用者,大家可以通過下面的地址瞭解詳情。
RDIFramework.NET官方網站:http://www.rdiframework.net/
RDIFramework.NET官方部落格:http://blog.rdiframework.net/
特別說明,框架相關的技術文章請以官方網站為準,歡迎大家收藏!
RDIFramework.NET框架由海南國思軟體科技有限公司專業團隊長期打造、一直在更新、一直在升級,請放心使用!
歡迎關注RDIFramework.NET框架官方微信公眾號(微訊號:guosisoft),及時瞭解最新動態。
使用微信掃描二維碼立即關注