記錄阿里雲ECS(Centos7.4)安裝mysql 8.0.X服務
#*.rpm介紹
大多數二進位制rpm包都包含在名稱中倒數第二個欄位中編譯rpm的體系結構。.rpm軟體包有那麼幾種
*.src.rpm 源程式包,要先通過編譯才能安裝
*.noarch.rpm 該包適用於任何架構
*.i*86.rpm 該包適用於intel cpu的電腦上執行
*.amd64.rpm 該包適用於amd64 cpu的電腦上執行
mysql各種源 傳送門 https://repo.mysql.com/
在這裡,我選擇mysql80-community-release-el7-1.noarch.rpm
======================================================================================
1.登入阿里雲伺服器
2.下載源到伺服器
mkdir mysql cd mysql wget https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm
3.安裝下載的發行包
rpm -Uvh mysql80-community-release-el7-1.noarch.rpm
4.安裝Mysql
yum install mysql-community-server
5.啟動Mysql
service mysqld start
檢查Mysql狀態 : service mysqld status
6.檢視Mysql密碼
新版mysql安裝之後會生成root使用者的密碼,該密碼儲存在 /var/log/mysqld.log中,使用grep命令檢視密碼。
grep 'temporary password' /var/log/mysqld.log
拷貝密碼備用,登入mysql
7.登入mysql及配置
7.1.登入和修改密碼
mysql -u root -p
必須先進行修改密碼。注意mysql的密碼策略已經更改為中等,需要包括大小寫字母、數字、特殊字元
此處先修改為臨時密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Abc.123!';
檢視密碼策略
show variables like '%password%';
在圖上可看出,密碼策略的長度最少為8位,密碼強度為medium。但實際開發中,我們只是用來做開發,於是設定簡單密碼。
調整密碼策略的長度為6和密碼強度設定為低。
set global validate_password.policy=LOW; set global validate_password.length=6;
執行完成之後可以修改簡單密碼了。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'abc.123';
7.2.開啟mysql遠端連線功能
*需要新建可遠端連線的root使用者,然後再授權。直接授權會丟擲異常。
CREATE USER 'root'@'%' IDENTIFIED BY '123456'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;
7.3.調整[email protected]'%'的身份認證方式
*當時用sqlyog連線mysql時,會丟擲如下錯誤。
這是因為mysql8.0更換了認證方式,這是,需要調整回mysql_native_password即可
ALTER USER 'root'@'%'IDENTIFIED WITH mysql_native_password BY 'abc.123';
7.4驗證結果
8.**忘記root密碼,重置mysql密碼
8.1改配置讓mysql免密碼登入
vi /etc/my.cnf
在配置檔案中加入,skip-grant-tables 跳過mysql許可權
8.2重啟mysql服務
service mysqld restart
8.3進入mysql及改密碼
mysql -u root
use mysql; update user set authentication_string='' where user='root' and host='localhost';
8.4退出mysql,在配置檔案中註釋跳過mysql許可權
vi /etc/my.cnf
重啟mysql服務
service mysqld restart
8.5進入mysql,並正常重置密碼
mysql -u root
set global validate_password.policy=LOW; set global validate_password.length=6; ALTER USER 'root'@'localhost' IDENTIFIED BY 'abc.123';