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 安全系統,會避免很多不必要的麻煩,以後的學習會更加順暢。