前言
有來項目的數據庫在此之前使用的是 Docker 部署的,具體可見文章 Docker 安裝 MySQL8 ,服務器是阿里雲 2C2G 的ECS輕量服務器,可能是配置問題有時不論查什麼都要等很長很長時間,原因一直未明。網上也有相關資料說不推薦使用 Docker 跑數據庫的,主要原因是IO和網絡性能問題,可參考 你在 Docker 中跑 MySQL?恭喜你,好下崗了!,但是也有阿里、同程等使用容器部署數據庫的案例,各執己見也沒有個明確的結果,自己對這方面知之甚少所以不站隊,因爲沒資格。
再申明一下,慢的離譜的原因猜測是自己的配置和服務器的問題,和容器部署關係不大。本篇補充 yum部署 MySQL 是沒有找到具體原因換種部署方式,同樣寫本篇的目的也是爲了下一篇文章 Canal 數據同步做準備。
卸載 MySQL
如果已經安裝請先卸載
rpm -qa | grep -i mysql
yum remove -y mysql*
刪除 MySQL 文件
find / -name mysql
安裝 MySQL8
官方下載地址 https://dev.mysql.com/downloads/repo/yum/
根據操作系統選擇對應的版本,我這裏是 Centos8
選擇第一個
點擊 Download
進入下載頁面複製鏈接地址: https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm
下載源
wget https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm
安裝源
yum localinstall mysql80-community-release-el8-1.noarch.rpm
禁用 Centos 8 自帶的 MySQL 模塊
yum module disable mysql
安裝 MySQL 服務
yum install mysql-community-server
啓動 MySQL
systemctl start mysqld
查看 MySQL 狀態
systemctl status mysqld
MySQL 開機自啓
systemctl enable mysqld
systemctl daemon-reload
MySQL 設置密碼
獲取臨時密碼
grep 'temporary password' /var/log/mysqld.log
登錄 MySQL
mysql -uroot -pqvysykoyf4=R
修改 MySQL 新密碼 123456
ALTER USER 'root' @'localhost' IDENTIFIED BY '123456';
密碼簡單不滿足密碼策略
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查看當前密碼策略
SHOW VARIABLES LIKE 'validate_password%';
降低密碼策略
set global validate_password.length=4;
set global validate_password.special_char_count=0;
set global validate_password.policy =LOW;
MySQL 開放遠程連接
update user set host = '%' where user ='root';
alter user 'root'@'%' identified by '123456' password expire never;
alter user 'root'@'%' identified with mysql_native_password by '123456';
flush privileges;
短暫測試的效果查詢沒有出現像之前的容器部署 MySQL 出現查詢非常久的問題。