Centos7 安裝 Mysql

Centos7 安裝 Mysql

資料

鏈接://pan.baidu.com/s/1TTZY1qSYNj0TC7eAlA-qsA?pwd=jjjj
提取碼:jjjj

準備

本文通過rpm,進行MySQL數據庫的安裝,主要的步驟如下:

1). 檢測當前系統是否安裝過MySQL相關數據庫

需要通過rpm相關指令,來查詢當前系統中是否存在已安裝的mysql軟件包,執行指令如下:

rpm -qa							查詢當前系統中安裝的所有軟件
rpm -qa | grep mysql			查詢當前系統中安裝的名稱帶mysql的軟件
rpm -qa | grep mariadb			查詢當前系統中安裝的名稱帶mariadb的軟件

通過rpm -qa 查詢到系統通過rpm安裝的所有軟件,太多了,不方便查看,所以我們可以通過管道符 | 配合著grep進行過濾查詢。

image-20220824214912729

通過查詢,我們發現在當前系統中存在mariadb數據庫,是CentOS7中自帶的,而這個數據庫和MySQL數據庫是衝突的,所以要想保證MySQL成功安裝,需要卸載mariadb數據庫。

2). 卸載現有的MySQL數據庫

在rpm中,卸載軟件的語法為:

rpm -e --nodeps  軟件名稱

那麼,我們就可以通過指令,卸載 mariadb,具體指令為:

rpm -e --nodeps  mariadb-libs-5.5.60-1.el7_5.x86_64

image-20220824214957382

我們看到執行完畢之後, 再次查詢 mariadb,就查不到了,因為已經被成功卸載了。

3). 將資料中提供的MySQL安裝包上傳到Linux並解壓

image-20220824215036048

A. 解壓到/usr/local/mysql

mkdir /usr/local/mysql
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql

image-20220824215339724

安裝

4). 安裝順序安裝rpm安裝包

一個一個執行

rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
yum install net-tools
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm

說明:

  • 因為rpm安裝方式,是不會自動處理依賴關係的,需要我們自己處理,所以對於上面的rpm包的安裝順序不能隨意修改。
  • 安裝過程中提示缺少net-tools依賴,使用yum安裝(yum是一種在線安裝方式,需要保證聯網)
  • 可以通過指令(yum update)升級現有軟件及系統內核

image-20220824215323034

啟動

MySQL安裝完成之後,會自動註冊為系統的服務,服務名為mysqld。那麼,我們就可以通過systemctl指令來查看mysql的狀態、啟動mysql、停止mysql。

systemctl status mysqld		查看mysql服務狀態
systemctl start mysqld		啟動mysql服務
systemctl stop mysqld		停止mysql服務

image-20220824215527692

說明:

可以設置開機時啟動mysql服務,避免每次開機啟動mysql。執行如下指令:

systemctl enable mysqld

我們可以通過如下兩種方式,來判定mysql是否啟動:

netstat -tunlp					查看已經啟動的服務
netstat -tunlp | grep mysql 
ps –ef | grep mysql				查看mysql進程

image-20220824215616946

備註:

A. netstat命令用來打印Linux中網絡系統的狀態信息,可讓你得知整個Linux系統的網絡情況。

​ 參數說明:

​ -l或–listening:顯示監控中的服務器的Socket;
​ -n或–numeric:直接使用ip地址,而不通過域名服務器;
​ -p或–programs:顯示正在使用Socket的程序識別碼和程序名稱;
​ -t或–tcp:顯示TCP傳輸協議的連線狀況;
​ -u或–udp:顯示UDP傳輸協議的連線狀況;

B. ps命令用於查看Linux中的進程數據。

登陸

查閱臨時密碼

MySQL啟動起來之後,我們就可以測試一下登錄操作,但是我們要想登錄MySQL,需要一個訪問密碼,而剛才在安裝MySQL的過程中,並沒有看到讓我們設置訪問密碼,那這個訪問密碼是多少呢? 那實際上,對於rpm安裝的mysql,在mysql第一次啟動時,會自動幫我們生成root用戶的訪問密碼,並且輸出在mysql的日誌文件 /var/log/mysqld.log中,我們可以查看這份日誌文件,從而獲取到訪問密碼。

可以執行如下指令:

1). cat /var/log/mysqld.log

image-20220824215722495

這種方式,可以看到所有的日誌數據,文件比較大時,很不方便查看數據。我們可以通過管道符 | 配合grep來對數據進行過濾。

2). cat /var/log/mysqld.log | grep password

我們可以通過上述指令,查詢日誌文件內容中包含password的行信息。

image-20220824215744803

登錄MySQL

獲取到root用戶的臨時密碼之後,我們就可以登錄mysql數據庫,修改root的密碼,為root設置一個新的密碼。並且我們還需要開啟root用戶遠程訪問該數據庫的權限,這樣的話,我們就可以在windows上來訪問這台MySQL數據庫。

執行如下指令:

①. 登錄mysql(複製日誌中的臨時密碼登錄)
	mysql -uroot -p								

②. 修改密碼
    set global validate_password_length=4;			設置密碼長度最低位數
    set global validate_password_policy=LOW;		設置密碼安全等級低,便於密碼可以修改成root
    set password = password('root');				設置密碼為root
    
    # 這個可以不配置
③. 開啟訪問權限
    grant all on *.* to 'root'@'%' identified by 'root';
    flush privileges;

操作完上述的指令之後,數據庫root用戶的密碼以及遠程訪問我們就配置好了,接下來,可以執行exit退出mysql,再次通過新的密碼進行登錄。

image-20220824215852217

注意: 要想在windows上能夠訪問MySQL,還需要開放防火牆的3306端口,執行如下指令:

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

image-20220824215922064