安裝
1. 新增 MySQL 8.0 的官方 YUM 倉庫
MySQL 8.0 沒有預設包含在 CentOS 7 的官方倉庫中,因此需要手動新增 MySQL 的官方倉庫。
yum install wget -y
wget https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm
rpm -ivh mysql80-community-release-el7-11.noarch.rpm
可能會出現警告:mysql80-community-release-el8-1.noarch.rpm: 頭V3 DSA/SHA1 Signature, 金鑰 ID 5072e1f5: NOKEY
解決方式
rpm --import /etc/pki/rpm-gpg/RPM*
如果不行,更換yum源,並更新
# 清空原快取
yum clean all
# 建立新快取
yum makecache
# 更新
yum update
# 匯入金鑰
rpm --import /etc/pki/rpm-gpg/RPM*
2. 安裝 MySQL 8.0
yum install -y mysql-community-server
3. 啟動 MySQL 服務並設定為開機啟動
systemctl start mysqld
systemctl enable mysqld
4. 獲取 MySQL 的臨時 root 密碼
在安裝 MySQL 後,預設會生成一個隨機的 root 密碼,可以透過以下命令檢視:
sudo grep 'temporary password' /var/log/mysqld.log
5. 執行 MySQL 安全設定指令碼
使用臨時密碼登入 MySQL 並執行安全設定指令碼來配置 MySQL:
mysql -u root -p
輸入剛才獲取的臨時密碼後,執行:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'gjyGjy.com123';
解除安裝 MySQL
在 CentOS 7 上,徹底清除 MySQL 可以按照以下步驟操作:
1. 停止 MySQL 服務
確保 MySQL 服務已停止:
sudo systemctl stop mysqld
2. 解除安裝 MySQL
使用 yum 檢視安裝的MySQL及其相關元件:
sudo yum list installed | grep mysql
使用 yum
從後到前逐一解除安裝 MySQL 及其相關元件:
yum remove -y <安裝的mysql依賴>
或使用以下命令一次刪除
yum list installed | grep mysql | sort -r | \
awk '{print $1}' | xargs yum remove -y
xargs
:xargs命令 – 給其他命令傳引數的過濾器
3. 刪除 MySQL 資料目錄
刪除 MySQL 資料目錄,這將清除所有資料庫資料:
sudo rm -rf /var/lib/mysql
4. 刪除 MySQL 配置檔案
刪除 MySQL 的配置檔案:
sudo rm -rf /etc/my.cnf /etc/my.cnf.d
5. 刪除其他 MySQL 相關檔案
刪除可能存在的 MySQL 庫檔案和日誌檔案:
sudo rm -rf /var/log/mysqld.log
sudo rm -rf /var/lib/mysql
sudo rm -rf /var/cache/yum
完成這些步驟後,MySQL 應該會被徹底清除。如果你之後需要重新安裝 MySQL,可以直接按照官方文件中的安裝步驟進行操作。
補充
密碼不符合當前的密碼策略要求
這個錯誤表示你在設定 MySQL 密碼時,所使用的密碼不符合當前的密碼策略要求。MySQL 5.7 預設啟用了密碼策略驗證外掛 validate_password
,該外掛會根據策略要求(如密碼長度、複雜性)驗證密碼。
解決方法 1:使用符合策略要求的密碼
你可以使用一個符合 MySQL 密碼策略要求的密碼,通常需要滿足以下條件:
- 長度:預設至少8個字元。
- 字元型別:至少包含以下四種字元型別中的三種:
- 大寫字母(A-Z)
- 小寫字母(a-z)
- 數字(0-9)
- 特殊字元(如
!@#$%^&*()
)
例如:MyNewPass4!
解決方法 2:修改密碼策略要求
如果你不需要這麼嚴格的密碼策略,可以調整或禁用密碼策略驗證。以下是修改策略的步驟:
1. 登入 MySQL:
mysql -u root -p
2.檢視當前密碼策略配置:
SHOW VARIABLES LIKE 'validate_password%';
3. 修改策略(可選):
1. 降低密碼強度要求:
SET GLOBAL validate_password.policy=LOW;
2. 降低密碼長度要求:
SET GLOBAL validate_password.length=6;
設定遠端使用者
建立遠端使用者
建立一個新使用者,並允許從特定IP地址或所有地址進行遠端訪問。例如,如果你希望允許從任意地址訪問:
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
賦予使用者所有許可權
使用以下命令將所有許可權授予該使用者:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
重新整理許可權
在MySQL中,執行 FLUSH PRIVILEGES
命令以確保許可權更改生效:
FLUSH PRIVILEGES;