mysql作為日常開發中常用到的資料庫,對每個程式設計師來說至關重要,今天就跟著我來進行一次mysql的安裝之旅吧。

一、安裝

1、安裝包的方式

1.1、獲取安裝包

對mysql有過接觸的人來說,都知道mysql分為商業版和社群版,由於這裡僅僅作為開發、學習之用,這裡選擇社群版進行安裝。首先開啟官方網站。

https://www.mysql.com/

進入到下載頁,劃到最下方可以看到社群版的下載連結,如下圖,

跳轉到社群版的下載頁面

可以看到提供了多種安裝的方式,這裡先選擇二進位制檔案的安裝包這種方式,進入到相應的頁面,選擇需要的版本進行下載即可,我這裡要安裝的環境是centos7,所以這裡選擇瞭如下版本,

下載完成後,使用rz命令上傳到linux機器上,rz命令是linux下的命令,沒有該命令的可以自行百度如何安裝。

1.2、使用安裝包安裝(未成功安裝)

在上面的步驟中已經成功的把安裝包上傳到linux機器上,如上圖,下面進行解壓,使用如下命令,

tar -xvf mysql-8.0.26-1.el8.x86_64.rpm-bundle.tar 

解壓完成後,可以看到這些檔案

進行安裝即可,這裡是rpm包,所以要使用rpm命令進行安裝

顯示下面的內容,

表示的缺少依賴,比如缺少GLIBC_2.28、OPENSSL_1_1_0等,我這裡一直沒安裝成功依賴,所以這裡不再繼續,有了解的朋友可以給提個建議。下面進行另外一中方式的安裝。

2、yum的方式

2.1、獲取安裝檔案

在mysql的下載頁有mysql的yum檔案,

下載此檔案到本地,

把該檔案上傳到linux機器上,前面說到可以使用rz命令,我這裡已經傳好,

下面進行安裝

2.2、安裝

2.2.1、新增mysql的rpm到yum源

由於這裡使用的yum的安裝方式,所以要把上述的yum檔案新增到yum源中,

yum localinstall mysql80-community-release-el7-3.noarch.rpm 

檢查yum源中的mysql

yum  repolist all | grep mysql 

可以看到剛新增的狀態為啟用,如上圖,另外,如果有其他版本的狀態為啟用的,一定要關閉掉,使用下面的命令

yum-config-manager --disable MySQL Cluster 7.5 Community

2.2.2、刪除之前的版本

如果之前安裝過mysql,可以使用下面的命令檢視

yum list installed | grep mysql

我這裡已經安裝完了,所以有下面的依賴

可以使用下面的命令進行刪除

yum -y remove mysql-community-client.x86_64

2.2.3、安裝

使用下面的安裝命令進行安裝,

yum install mysql-community-server

如下圖

進行安裝即可。

安裝完檢查是否安裝成功。

上圖表明已經安裝成功。

二、配置

剛安裝好的mysql只能在本地訪問,不具備遠端訪問的能力,所以這裡要進行配置,由於這裡使用yum進行預設安裝,那麼mysql安裝在什麼地方了那

2.1、mysql的安裝位置

使用下面的命令

which mysqld

結果如下圖

可以看到安裝在了/usr/sbin目錄下,

那麼mysql的配置檔案在什麼地方那,

/usr/sbin/mysqld --verbose --help |grep -A 1 'Default options'     

如下圖,

從上面可以看出首先讀取/etc/my.cnf,然後是etc/mysql/my.cn 然後是/usr/etc/my.cnf  是按照這也一個順序繼續讀取的,也就說在上面幾個路徑中只要有一個目錄中存在my.cnf即可。我們先看在/etc/下是否存在

存在該檔案,編輯該檔案

該檔案如下,

可以看到mysql的資料目錄、pid等配置。記住log-error=/var/log/mysqld.log這個配置。好了下面去啟動

2.2、啟動mysql

使用下面的命令啟動mysql

service mysqld start

可以看到已經啟動成功。現在要進行登入

2.3、本地登入

現在服務已經啟動了,mysql自帶了本地客戶端,可以使用客戶端的方式啟動,那麼我們的賬戶和密碼是什麼那,不急,上邊我們記住了log-error=/var/log/mysqld.log這也一個配置,這是mysql啟動的日誌,看下這個檔案吧

從上面找到關鍵的一句,也就是mysql在啟動的時候會給root一個臨時的密碼,我這裡是0Q*_k1F.KFo9,使用該密碼登入即可,

mysql -hlocalhost -uroot -p

可以看到已經成功登入,剛才提到該root的密碼是臨時的,那麼現在就要對該密碼進行修改。

2.4、修改root的臨時密碼

剛才已經登入成功,但是由於使用的是臨時密碼,所以什麼操作都做不了,必須修改臨時密碼,

mysql> alter user root@localhost identified by 'wcj123!QAZ';

這裡改成自己的密碼即可。這樣就完成了root密碼的修改。使用exit命令退出後,使用新的密碼登入即可。

2.5、增加遠端登入的賬戶

mysql> create user 'root'@'%' identified by 'root';
//重新整理許可權
mysql> flush privileges;

添加了root的遠端登入賬戶;

這樣便可以使用root遠端登入了。

2.6、使用navicat遠端登入

使用navicat連線mysql,這裡mysql的版本是8,在連線時出現下面的錯誤

在本地使用命令列的方式登入,執行下面的命令

mysql> use mysql;
mysql> alter user 'root'@'%' identified with mysql_native_password by 'wcj123!QAZ'; mysql> flush privileges;

然後再登入如下,

2.7、授權

從上圖可以看到root賬戶的許可權顯然不是最大的,需要對其進行授權,

mysql> grant all privileges on *.* to 'root'@'%'  WITH GRANT OPTION;
mysql> flush privileges;

三、總結

本文記錄了mysql的安裝步驟,並丟擲了一些問題及解決方案,文中遺留的問題,希望大家提出解決方案,感謝大家。