2025年9月8日 星期一

管理Mysql的指令集

查詢使用者 

SELECT User, Host FROM mysql.user WHERE User='chocho';

建立使用者

CREATE USER 'chocho'@'localhost' IDENTIFIED BY '你的密碼';

修改使用者密碼

ALTER USER 'chocho'@'localhost' IDENTIFIED BY '你的新密碼';

開放權限給帳號

GRANT ALL PRIVILEGES ON testdb.* TO 'chocho'@'localhost';

查詢帳號以及plugin

SELECT user, host, plugin FROM mysql.user;

使用舊版密碼登入

ALTER USER 'chocho'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';

開啟 mysql_native_password 的方法

ee /usr/local/etc/my.cnf

加上以下內容
[mysqld]
mysql_native_password=ON

重新整理

FLUSH PRIVILEGES;

進入mysql指令

mysql -u root -p

mysql -u chocho -p


✔ 實務上怎麼判斷「是否該重啟」

你可以檢查以下項目:

1. 查看 MySQL 執行多久

SHOW GLOBAL STATUS LIKE 'Uptime';

2. 檢查 Buffer Pool 命中率

SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_read%';

3. 檢查是否有大量 temp tables

SHOW GLOBAL STATUS LIKE 'Created_tmp%';

4. 查看目前是否有長 transaction

SELECT * FROM information_schema.innodb_trx;

5. 查詢 performance_schema 中資源利用狀態

(如 memory、threads、tables 等)

✔ 建議

如果你看到以下狀況:

MySQL uptime > 30~60 天

越跑越慢(尤其高峰期變化大)

temp table 很多

buffer pool hit rate 降低

長 transaction 存在

memory usage 不斷上升

👉 安排維護時段重啟一次是有幫助的。


沒有留言:

張貼留言