Linux安裝MySQL

努力--坚持發表於2024-07-20

 

 一、 MySQL安裝


  對於MySQL資料庫的安裝,我們將要使用第二種安裝方式rpm進行安裝。那麼首先我們瞭解一下什麼是RPM?

  RPM:全稱為 Red-Hat Package Manager,RPM軟體包管理器,是紅帽Linux用於管理和安裝軟體的工具。

  MySQL資料庫的安裝,主要的步驟如下:

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

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

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


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

透過查詢,我們發現在當前系統中存在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


我們看到執行完畢之後, 再次查詢 mariadb,就查不到了,因為已經被成功解除安裝了,如下圖:

3). 將MySQL安裝包上傳到Linux並解壓

A. 上傳MySQL安裝包

我們需要將MySQL的安裝包上傳到Linux系統的根目錄 / 下面。

B. 解壓到/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


解壓後得到6個RPM的安裝包檔案,如下圖:

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


如圖:

圖2安裝依賴;

說明:

- 因為rpm安裝方式,是不會自動處理依賴關係的,需要我們自己處理,所以對於上面的rpm包的安裝順序不能隨意修改。
- 安裝過程中提示缺少net-tools依賴,使用yum安裝(yum是一種線上安裝方式,需要保證聯網)

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

systemctl status mysqld 檢視mysql服務狀態
systemctl start mysqld 啟動mysql服務
systemctl stop mysqld 停止mysql服務


說明:

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

systemctl enable mysqld


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

netstat -tunlp 檢視已經啟動的服務
netstat -tunlp | grep mysql 檢視mysql的服務資訊
ps –ef | grep mysql 檢視mysql程序
命令解釋:

​ A. netstat命令用來列印Linux中網路系統的狀態資訊,可讓你得知整個Linux系統的網路情況。

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

​ B. ps命令用於檢視Linux中的程序資料。


三、 MySQL登入
1.查閱臨時密碼

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

可以執行如下指令:cat /var/log/mysqld.log | grep password

我們可以透過上述指令,查詢日誌檔案內容中包含password的行資訊。

2.登入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,再次透過新的密碼進行登入。


3.Windows遠端訪問MySQL


當然我們也可以使用安裝在windows系統中的sqlyog或者Navicat來遠端連線linux上的MySQL。 要想在windows上能夠訪問MySQL,還需要開放防火牆的3306埠,

執行如下指令:

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

相關文章