標籤:工具 dmi als 不能 自動 服務 mysql 改密碼 glib
前言
如果讀者是利用搜尋引擎(百度、Google)搜尋“Linux安裝MySQL”找到這裡,且又是一位萌新,那麼請認真閱讀前言及其他文字。如果是只老鳥了,請直接尋找你想要的內容,跳躍閱讀。
這個標題表明了我們的目的,即指定作業系統(Linux)安裝我們所需要的軟體(MySQL),但是卻有三個方面的錯誤。
- 錯誤一:沒有明確作業系統是Linux的哪個發行版。事實上,不同的Linux發行版是有所差異的,體現在所選用的軟體版本不同,核心版本不同等等。因此,不同的發行版的安裝可能會有差異。
- 錯誤二:沒有明確MySQL的版本。對於軟體版本選擇,這是一件很嚴肅的事情。如果和項目所需的MySQL版本有大版本的差異,則可能無法正常使用;如果選用了非GA版本,可能會出現不穩定。
- 錯誤三:沒有明確MySQL的安裝方式。對於在Linux作業系統上,大體上有安裝包安裝,二進位安裝,源碼安裝這三種安裝方式。不同的安裝方式所需要下載的安裝包是不同的,同時安裝的過程也是不同的。
正是存在這些不明確導致所查詢到的多篇相關文章中會有大量的描述存在差異。
安裝需求
- 作業系統:CentOS 7.5.1804
- MySQL版本:MySQL 8.0.11
- 安裝方式:二進位安裝,安裝包的名稱:mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
若實際安裝所提供的環境和需求不同,則以下文字只適合用作參考。(當然,對於老鳥來說,在作業系統版本的差異很小,MySQL版本差異很小,都是二進位安裝的前提下,安裝的關鍵只是幾個命令列而已)
安裝過程
步驟1:關閉selinux
- 檢查selinux開啟狀態
shell> getenforce Enforcing (Enforcing表示selinux處於開啟狀態)
- 臨時關閉selinux
shell> setenforce 0
- 再次檢查確認關閉
shell> getenforce Permissive (Permissive表示selinux處於開啟狀態,但是放任一切行為,這被認作是事實上的關閉狀態)
-
永久關閉selinux
shell> vim /etc/sysconfig/selinux...SELINUX=disabled...
步驟1總結:selinux會導致很多軟體安裝異常,通常做法都是將其直接關閉。其關閉方法有臨時關閉和永久關閉。所謂臨時和永久的區別就是伺服器重啟後是否能保持其修改狀態。
步驟2:關閉防火牆
- 檢查防火牆狀態
shell> systemctl status firewalld ...Active: active (running)...
- 臨時關閉防火牆
shell> systemctl stop firewalld
- 檢查防火牆狀態
shell> systemctl status firewalld...Active: inactive (dead)...
- 永久關閉防火牆
shell> systemctl disable firewalld
步驟2總結:關閉防火牆的意義是避免由於連接埠不通導致資料庫無法被外部網路訪問。但是正確使用防火牆是可以保證即開啟防火牆又能保證資料庫被正確訪問的,在這裡不進行展開。
步驟3:安裝依賴
- 安裝libaio
shell> yum install -y libaio
步驟3總結:yum install命令是等冪操作,第一次使用時安裝,其他時候使用時會自動檢查是否安裝並且當做更新軟體處理,所以可以大膽使用。依賴缺失是軟體安裝失敗的主要原因之一,因此該步驟不僅不能省略,還會因為具體的作業系統環境而有所增加操作。
步驟4:建立mysql使用者和組
shell> groupadd mysqlshell> ~]# useradd -r -g mysql -s /bin/false mysql
步驟4總結:建立不可登入的mysql使用者和mysql組,是為了安裝後許可權的管理。
步驟5:解壓安裝包
shell> mkdir /applicationshell> cd /application// 通過ftp工具將安裝包放到該目錄下shell> tar zxf mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz shell> lsmysql-8.0.11-linux-glibc2.12-x86_64 mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
步驟5總結:本質上就是講安裝包解壓到/application目錄下。
步驟6:建立軟串連
shell> ln -s /application/mysql-8.0.11-linux-glibc2.12-x86_64 /usr/local/mysql
步驟7:刪除舊配置資訊
shell> rm -rf /etc/my.cnf /etc/my.cnf.d/
步驟8:建立新配置資訊
shell> vim /etc/my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
user = mysql
port = 3306
basedir = /usr/local/mysql
datadir = /data/mysql/
socket = /tmp/mysql.sock
pid-file = db.pid
character-set-server = utf8mb4
**步驟8總結**:配置資訊是用好MySQL的關鍵。---步驟9:初始化
shell> /usr/local/mysql/bin/mysqld --initialize --user=mysql
**步驟9總結**:初始化會讀取預設設定檔(/etc/my.cnf),注意該過程的輸出中有臨時密碼。---步驟10:安全增強
shell> /usr/local/mysql/bin/mysql_ssl_rsa_setup
---步驟11:啟動
shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &
---步驟12:初次使用需修改密碼
mysql> alter user ‘root‘@‘localhost‘ identified by ‘123456‘;
步驟13:關閉
shell> /usr/local/mysql/bin/mysqladmin -u root -p shutdown
Linux安裝MySQL