1. 程式人生 > >2、阿里雲安裝mysql過程

2、阿里雲安裝mysql過程

阿里雲centos7安裝mysql,廢話不多說直接擼程式碼:

一、安裝mysql

1、下載RPM

wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

2、安裝RPM包

rpm -ivh mysql80-community-release-el7-1.noarch.rpm

3、修改 MySQL 的repo源,使MySQL8.0可用

使用 vim 編輯

vi /etc/yum.repos.d/mysql-community.repo

找到 [mysql80-community] 確保 enabled=1

修改,儲存並退出。

4、安裝 mysql-server

yum install mysql-server

開始下載並安裝 MySQL,中間會有幾次詢問你,一路 yes 即可,等待直到完成。

5、修改 MySQL 的訪問許可權

chown -R root:root /var/lib/mysql 

6、重啟 MySQL 服務

service mysqld restart

至此 MySQL8.0 的安裝就算完成了

二、重置mysql8.0密碼

1、檢視自動生成的密碼

安裝完成後 MySQL會給我們自動生成一個隨機密碼

檢視命令如下:

grep 'temporary password' /var/log/mysqld.log

因為自動的生成的密碼無法直接使用,也不便於我們記憶,所以我們要修改密碼。

2、配置檔案 MySQL 免密碼登入

編輯 MySQL 的配置檔案

vim /etc/my.cnf

 

在 pid 開頭的下面一行加入下面這句

skip-grant-tables

 

儲存並退出。

3、重啟 MySQL 服務

service mysqld restart 

​​​​​​

4、免密碼登入到 MySQL 上

mysql -u root -p
  • 提示輸入密碼時直接敲回車。

5、選擇 mysql 資料庫

use mysql;

因為 mysql 資料庫中儲存了一張 MySQL 使用者的 user 表

6、在 mysql 資料庫的 user 表中檢視當前 root 使用者的相關資訊

select host, user, authentication_string, plugin from user; 

執行完上面的命令後會顯示一個表格

表格中有以下資訊:

host: 允許使用者登入的 ip ‘位置’ % 表示可以遠端;

user: 當前資料庫的使用者名稱;

authentication_string: 使用者密碼(在mysql 5.7.9以後廢棄了password欄位和password()函式);

plugin: 密碼加密方式;

7、將預設的 root 密碼置空

use mysql;  
update user set authentication_string='' where user='root'; 

8、退出 mysql命令列

quit

9、刪除 /etc/my.cnf 檔案最後的 skip-grant-tables

vim /etc/my.cnf

刪除 skip-grant-tables 並儲存退出。

10、重啟 MySQL 服務

service mysqld restart 

11.重新登入到 MySQL 上

mysql -u root -p

提示輸入密碼時直接敲回車,因為我們剛才已經將密碼置為空了。

12、使用 ALTER 修改 root 使用者密碼

ALTER user 'root'@'localhost' IDENTIFIED BY '[email protected]';

其中 [email protected] 為你設定的新密碼,注意這個密碼如果設定的比較簡單,例如 123456 等等,會設定不成功,它會提示你設定的密碼太簡單,最好設定成大寫字母、數字、符號的組合。

執行完之後會提示你 OK 的話,就代表修改成功了,至此重置密碼也就算是完了,你可以使用新設定的密碼去登入試試。

三、遠端客戶端訪問

因為 MySQL 安裝完成後只支援 localhost 訪問,我們必須設定一下才可以遠端訪問

1、登入MySQL

mysql -u root -p

輸入您的密碼

2、選擇 mysql 資料庫

use mysql;

因為 mysql 資料庫中儲存了使用者資訊的 user 表。

3、在 mysql 資料庫的 user 表中檢視當前 root 使用者的相關資訊

select host, user, authentication_string, plugin from user; 

執行完上面的命令後會顯示一個表格

查看錶格中 root 使用者的 host,預設應該顯示的 localhost,只支援本地訪問,不允許遠端訪問。

4、授權 root 使用者的所有許可權並設定遠端訪問

update host='%' where user='root';

5、重新整理許可權

所有操作後,應執行

flush privileges;

6、檢視 root 使用者的 host

use mysql;

select host, user, authentication_string, plugin from user;

你會發現 root 使用者的 host 已經變成 %,說明我們的修改已經成功,可以遠端訪問了。

7、然後你測試還是不能通過,這是應為阿里雲的安全防火牆給攔截了

到此就可以遠端訪問了