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、然後你測試還是不能通過,這是應為阿里雲的安全防火牆給攔截了
到此就可以遠端訪問了