1. 程式人生 > Mysql入門教學 >03 Linux下安裝最新版MySQL

03 Linux下安裝最新版MySQL

上一節我們學習了在 Windows 下安裝 MySQL 資料庫,這節課我們來學習在 Linux 作業系統下安裝 MySQL 8.0 版本的資料庫。這節課我們使用 Linux 的 CentOS 發行版本來進行操作講解。

1. 下載和安裝 MySQL

1.1 下載 Linux 版本 MySQL 壓縮包

在 Linux 作業系統中下載 MySQL 比較簡單,只需要執行一條命令就可以了。

命令 : wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz  # 下載地址

下載進度如圖所示:

圖片描述

1.2 解壓下載好的壓縮包

命令 : xz -d mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
#將.xz壓縮包解壓為.tar

命令 : tar xf mysql-8.0.19-linux-glibc2.12-x86_64.tar
#將.tar壓縮包解壓為資料夾

命令 : mv mysql-8.0.19-linux-glibc2.12-x86_64 /usr/local/mysql/
#移動至安裝目錄,這裡是 /usr/local/mysql

操作流程如圖:

圖片描述

給MySQL建立系統賬號:

 命令 : adduser mysql

1.3 新建 data、sql_log、undo 目錄

進入 MySQL 安裝目錄:

 命令 : cd /usr/local/mysql

新建data、sql_log、undo目錄:

 命令 : mkdir data sql_log undo

給這三個目錄建立屬主:

 命令 : chown mysql:mysql -R data/ sql_log/ undo

如圖所示:

圖片描述

1.4 新增 MySQL 環境變數

 命令 : vim /etc/profile

圖片描述

在 profile 檔案末尾新增如下內容(按 i 編輯):

export PATH=$PATH:/usr/local/mysql/bin

如下圖所示:

圖片描述

按 ESC,然後輸入 :wq 儲存退出,如圖所示:

圖片描述

使上述配置生效:

 命令 : source /etc/profile

2. 在 Linux 上配置 MySQL

2.1 新建 MySQL 配置檔案

新建 my.cnf 配置檔案:

 命令 : vim /etc/my.cnf

在 my.cnf 中新增如下內容:

在my.cnf中新增如下內容:
[mysqld]
# 設定3306埠
port=3306
# 設定mysql的安裝目錄
basedir=/usr/local/mysql
# 設定mysql資料庫的資料的存放目錄
datadir=/usr/local/mysql/data
# 允許最大連線數
max_connections=200
#允許連線失敗的次數。防止有人從該主機試圖攻擊資料庫系統
max_connect_errors=10
# 服務端使用的字符集預設為UTF8
character-set-server=utf8
# 建立新表時將使用的預設儲存引擎
default-storage-engine=INNODB
# 預設使用“mysql_native_password”外掛認證
default_authentication_plugin=mysql_native_password
[mysql]
# 設定mysql客戶端預設字符集
default-character-set=utf8
[client]
# 設定mysql客戶端連線服務端時預設使用的埠
port=3306
default-character-set=utf8

如圖所示 :

圖片描述

2.2 初始化 MySQL

進入 MySQL 安裝目錄:

 命令 : cd /usr/local/mysql

執行初始化:

 命令 : mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data # 過程較慢,需要耐心等待

Tips:在初始化過程中如果出現以下輸出:

mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory,可以使用命令:

可以使用命令 yum -y install numactl 來解決。

出現這個錯誤是因為 Linux 缺少軟體依賴包 numactl,上述命令時通過 yum 倉庫安裝 numactl 依賴包。

2.3 查詢 MySQL 初始臨時密碼

進入 /usr/local/mysql/sql_log,使用如下命令可檢視初始臨時密碼,請做好相關記錄,後面登入需要用到:

 命令 : cd /usr/local/mysql/sql_log

 命令 : grep password mysql-error.log

如圖所示 :

圖片描述

2.4 關閉 Linux 防火牆

新手在安裝學習 MySQL ,通常會出現埠號被防火牆阻止了,從而一直接連不上 MySQL 所以為了方便後面連線 MySQL 學習,可以關閉 Linux 防火牆:

  命令 : systemctl status firewalld
  #檢視防火狀態
  
  命令 : systemctl disable firewalld
  #關閉防火牆

2.5 關閉 selinux

SELinux (Security-Enhanced Linux)是美國國家安全域性(NSA)對於強制訪問控制設計的一個安全系統,但其對很多軟體比較敏感,會導致很多服務崩潰,所以建議關閉:
編輯 selinux 配置檔案:

  命令 :vim /etc/selinux/config

將 selinux 中引數改為 SELINUX=disabled,按 ESC,輸入 :wq 儲存退出,並使配置立即生效

  命令 : source /etc/selinux/config 

將其中引數改為 SELINUX=disabled ,並使配置立即生效

  命令 : source /etc/selinux/config   

如圖所示:

圖片描述

2.6 啟動、停止、重啟 MySQL

進入 /usr/local/mysql/support-files 操作命令:

 命令 : cd /usr/local/mysql/support-files
 
 命令 : cp mysql.server /etc/init.d/mysql.d

MySQL 服務命令 :

 命令 : service mysqld start 
 #MySQL 服務啟動(這裡是註釋,#後面都是)
 
 命令 : service mysqld stop
 #MySQL 服務停止
 
 命令 : service mysqld reload
 #MySQL 服務重啟

3. 小結

這個小節我們在 Linux 的 CentOS 發行版本上安裝了 MySQL資料庫,過程和在 Windows 上安裝差不多。需要注意的是在安裝完成之後需要關閉 Linux 作業系統自身的防火牆和 SELinux 安全系統,會避免很多不必要的麻煩,以後的學習會更加順暢。