摘要 在學習MySQL語法之前,我們需要先解決在Ubuntu或CentOs環境下的“軟體安裝”的問題。本文梳理了安裝前後的各個步驟及有關的註意事項,主要涵蓋了安裝前的準備工作、如何安裝mysql,以及安裝之後如何啟動、如何正式使用這幾個方面。建議讀者先瀏覽一遍,留心相關的註意事項,或許能令自己稍後的 ...
摘要
在學習MySQL語法之前,我們需要先解決在Ubuntu或CentOs環境下的“軟體安裝”的問題。本文梳理了安裝前後的各個步驟及有關的註意事項,主要涵蓋了安裝前的準備工作、如何安裝mysql,以及安裝之後如何啟動、如何正式使用這幾個方面。建議讀者先瀏覽一遍,留心相關的註意事項,或許能令自己稍後的安裝過程更為順利,同時也增進了對每個安裝步驟的理解。
參考
本文主要參考了MySQL官方文檔。
其他說明
由於本人學識和精力有限,寫作過程中難免存在一些錯漏,懇請讀者在評論區批評指正。若本文對讀者在學習方面有所幫助,也希望您能夠不吝點贊支持,作為激勵筆者繼續寫下去的動力。
安裝MySQL 5.17
Ubuntu 16.04
-
打開命令行(CLI)界面:使用
Ctrl
+Alt
+T
或點擊滑鼠右鍵並選擇Open Terminal
。 -
更新當前軟體源,以便從源伺服器下載最新的軟體包列表,並獲取完整度高的軟體安裝包的相關信息。
sudo apt-get update
-
安裝MySQL
sudo apt-get install -y mysql-server mysql-client
-
安裝完成之後,配置MySQL伺服器,將“只允許本地訪問”更改為“允許遠程電腦接入”。
-
步驟一:通過輸入命令打開MySQL伺服器對應的配置文件
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
-
步驟二: 在該文件中,先通過找到
[mysqld]
選項組中的bind-address
,然後使用shift
+i
鍵進入編輯模式,並輸入#
註釋掉該行。修改的最終結果如下圖最後一行所示。
-
步驟三:按下
esc
鍵切換到命令模式,再輸入:wq
進行保存。
CentOS 7.4
我們不得不尋求其他的安裝方式。
筆者在此環境下使用 yum install -y mysql
命令進行簡易安裝後,發現顯示的安裝內容並非MySQL而是Mariadb。後續查閱文檔才知道,自CentOS 7.x開始,yum源使用Mariadb替代了MySQL。因此以下整理的內容主要參考了MySQL官方文檔,讀者亦可以通過MySQL官方文檔自行查閱。
-
下載Linux對應版本的YUM源的rpm包
通過右側鏈接MySQL Yum Repository進入下載頁面,由於筆者的環境是CentOS 7.4,選擇第一個Download
-
安裝rpm包
sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
-
選擇MySQL版本,並驗證選擇結果
-
首選方案
-
步驟一:使用
yum-config-manager
命令禁用mysql80版本,並啟用mysql57版本(註意:此項操作是鑒於我們要安裝的版本為MySQL5.17。若要安裝最新版本,則可直接略過此步驟)sudo yum-config-manager --disable mysql80-community sudo yum-config-manager --enable mysql57-community
-
步驟二:驗證選擇結果,確保操作無誤
yum repolist enabled | grep mysql
擴展:查看MySQL在YUM 庫里的所有子庫的啟用情況。(此擴展可參照步驟二的代碼進行對比學習,all表示不對狀態進行限制)
yum repolist all | grep mysql
-
-
備選方案
如果上述方法沒有奏效,就需要我們手動配置“/etc/yum.repos.d/mysql-community.repo”文件了。-
步驟一:打開文件
sudo vi /etc/yum.repos.d/mysql-community.repo
-
步驟二:在文件中查找到
[mysql80-community]
和[mysql57-community]
這兩個選項組中的enabled
,依次序調整為0、1。修改結果最終如下:[mysql80-community] name=MySQL 8.0 Community Server baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/ enabled=0 #在此處進行更改,將1改為0,表示禁用。(註意,這裡呈現的是修改後的結果) gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql [mysql57-community] name=MySQL 5.7 Community Server baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/ enabled=1 #在此處進行更改,將0改為1,表示啟用。(註意,這裡呈現的是修改後的結果) gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
-
步驟三:按下 esc鍵切換到命令模式,再輸入 :wq進行保存
-
- 安裝MySQL伺服器
sudo yum install mysql-community-server
啟動MySQL服務
在使用mysql之前,我們需要使用管理員許可權啟動mysqld服務進程。由於啟動MySQL服務的命令與其他命令相似度很高,因此筆者將它們放到一齊,便於讀者進行對比學習。所以實際上更應該稱本節為“操控MySQL服務”。
Ubuntu 16.04
規律為:sudo service mysqld 操作動作或狀態查詢
啟動服務:sudo service mysqld start
停止服務:sudo service mysqld stop
重啟服務:sudo service mysqld restart
查看MySQL Server當前狀態:sudo service mysqld status
CentOS 7.4
規律為: sudo systemctl 操作動作或狀態查詢 mysqld.service
啟動服務:sudo systemctl start mysqld.service
停止服務:sudo systemctl stop mysqld.service
重啟服務:sudo systemctl restart mysqld.service
查看MySQL Server當前狀態:sudo systemctl status mysqld.service
註意事項
自MySQL5.7開始,便不再支持使用空密碼登錄。因此MySQL伺服器在初始化的過程中,會將隨機生成的密碼保存到/var/log/mysqld.log文件中。
因此,我們可參照下述的思路及操作來解決這個問題:
-
步驟一:查看該文件,獲取隨機密碼
sudo grep 'temporary password' /var/log/mysqld.log
-
步驟二:使用該隨機密碼,登入系統
輸入此命令之後,根據提示輸入上一條命令執行後所查看到的隨機密碼mysql -uroot -p
-
步驟三:登入系統後,重新設定密碼
基於安全考慮,我們會被要求設置一個“至少包含一個大寫字母、一個小寫字母、一個數字和一個特殊字元,且總長度至少為8個字元”的密碼。ALTER USER 'root'@'localhost' IDENTIFIED BY '使用新的密碼代替此處文字';
登入並使用MySQL
繼在mysqld正常啟動之後,我們就可以令本機連接到MySQL伺服器。
登入mysql會話
若使用的本機為伺服器,則 “-h 伺服器ip或功能變數名稱” 可直接省略。因為缺少該參數的情況下,只要是在伺服器環境中就會被自動解析為localhost或127.0.0.1。
mysql -p -u root -h 伺服器ip或功能變數名稱
使用mysql
SELECT VERSION(), USER(), NOW();
SELECT 1+2*3-4/5;
註意:上面的代碼只是小試牛刀,實際上用處不大,因為這些sql語句脫離了所謂的上下文語境。請讀者當作是嘗鮮吧!