/opt/mysql/bin/mysqladmin -u root password 'StrongPass123!'
/opt/mysql/bin/mysql -uroot -p'StrongPass123!'
| 操作 | 指令 |
|---|---|
| 查看所有資料庫 | SHOW DATABASES; |
| 建立資料庫 | CREATE DATABASE linux_db; |
| 刪除資料庫 | DROP DATABASE linux_db; |
| 切換資料庫 | USE linux_db; |
| 查看當前資料庫表 | SHOW TABLES; |
# 備份單庫
/opt/mysql/bin/mysqldump -uroot -p linux_db > /root/linux_db_$(date +%F).sql
# 備份多庫
/opt/mysql/bin/mysqldump -uroot -p --databases db1 db2 > /backup/multi_$(date +%F).sql
# 備份全庫(含系統庫)
/opt/mysql/bin/mysqldump -uroot -p --all-databases > /backup/full_$(date +%F).sql
建議:檔名含日期、定期壓縮 gzip、異地同步(rsync/s3)、設定保留天數避免塞滿磁碟。
# 建立目標庫
mysql -uroot -p -e "CREATE DATABASE linux_db;"
# 匯入
/opt/mysql/bin/mysql -uroot -p linux_db < /backup/linux_db_2024-01-15.sql
| 功能 | 指令 |
|---|---|
| 查看狀態變數 | SHOW STATUS; |
| 查看執行緒/連線 | SHOW PROCESSLIST; |
| 查看引擎狀態 | SHOW ENGINE INNODB STATUS\G |
| 檢查/修復 MyISAM 表 | myisamchk -r /var/lib/mysql/db/*.MYI(需停庫) |
| 顯示資料庫/表結構 | mysqlshow -uroot -p db_name [table_name] |
# 啟動
/opt/mysql/share/mysql/mysql.server start
# 停止
/opt/mysql/share/mysql/mysql.server stop
# 重啟
/opt/mysql/share/mysql/mysql.server restart
-- 建立用戶
CREATE USER 'dev'@'%' IDENTIFIED BY 'DevPass789!';
-- 授權(僅特定庫、特定權限)
GRANT SELECT, INSERT, UPDATE ON appdb.* TO 'dev'@'%';
-- 撤銷
REVOKE INSERT ON appdb.* FROM 'dev'@'%';
-- 查看權限
SHOW GRANTS FOR 'dev'@'%';
-- 刪除用戶
DROP USER 'dev'@'%';
FLUSH PRIVILEGES;
SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';
建議全鏈路 UTF-8(utf8mb4):資料庫、表、欄位、連線、應用層皆一致。
SHOW GLOBAL STATUS LIKE 'Threads_connected'; 當前連線數SHOW GLOBAL STATUS LIKE 'Slow_queries'; 慢查詢計數SHOW VARIABLES LIKE 'slow_query_log%'; 慢查詢日誌配置熟練掌握上述基礎操作,是 Linux 環境下 MySQL 運維與開發的必修課。