在 Centos 7(騰訊雲伺服器) 中安裝 MySql 8,並實現遠端連線資料庫
前言
這是我在安裝過程中遇到的坑,結合網上各種經驗貼,記錄的一篇筆記,以防日後遺忘。
在 Centos7.6 中安裝 MySql
1、新增 yum 包
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
2、安裝 Mysql
yum install mysql-community-server
3、啟動 MySql
# 啟動守護程序
sudo systemctl start mysqld
安裝完後,MySQL 會在系統啟動時自動啟動,如果不想讓它自動啟動,可以使用 systemctl disable mysqld
配置 MySql
1、修改登入密碼
mysql 安裝完成之後,在 /var/log/mysqld.log 檔案中給 root 生成了一個預設密碼。通過下面的方式找到 root 預設密碼,然後登入 mysql 進行修改:
grep 'temporary password' /var/log/mysqld.log
如下圖,圈起來的就是預設密碼:
本地 MySQL 客戶端登入:
mysql -u root -p
再輸入預設密碼,就可以進入 Mysql 客戶端:
然後修改密碼:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test@123456';
密碼強度要求是:不少於12字元,必須包含大寫字母、小寫字母、數字和特殊字元。
如果想設定如 123456 這樣簡單的密碼,我們需更改 MySql 的密碼策略。
注意,一定要先設定一個複雜且符合要求的密碼,再進行後續操作。
2、為了設定簡單密碼,修改密碼策略
先進入 MySQL 客戶端
// 第一步
mysql -u root -p
// 第二步
輸入密碼
如果已經在 MySQL 客戶端中,就忽略這步。
檢視MySQL完整的初始密碼規則,登陸後執行以下命令
SHOW VARIABLES LIKE 'validate_password%';
修改密碼長度:
set global validate_password.length=6;
修改密碼等級:
set global validate_password.policy=0;
再次執行修改密碼語句:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
使用 quit
退出 MySQL 客戶端,重新啟動mysql服務使配置生效:
systemctl restart mysqld
然後,就可以使用新密碼 123456 登陸了。
設定遠端登入
預設只允許 root 帳戶在本地登入,如果要在其它機器上連線 mysql,必須修改 root 允許遠端連線,或者新增一個允許遠端連線的帳戶。
首先進入 MySQL 客戶端,修改 root 使用者遠端訪問許可權:
選擇 mysql 資料庫:
use mysql;
在 mysql 資料庫的 user 表中檢視當前 root 使用者的相關資訊:
select host, user from user;
查看錶格中 root 使用者的 host,預設應該顯示的 localhost,只支援本地訪問,不允許遠端訪問。
授權 root 使用者設定遠端訪問:
update user set host='%' where user ='root';
然後使用下面命令使修改生效:
flush privileges;
遠端登入
這裡,我使用的 MySQL-font 進行遠端登入安裝在騰訊雲伺服器上的 MySQL。
輸入主機 IP 和 MySQL 密碼,就可以了。
登入後,如下圖:
安裝 MySQL8 後,自帶有 information_schema、mysql、performance_schema、sys 這四個資料庫。
參考文章
遠端連線資料庫 出現 Client does not support authentication protocol requested by server的解決方法
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
每天學習一點點,每天進步一點點。