MySQL 與 MariaDB 管理
MySQL 和 MariaDB 是最常見的關聯式資料庫管理系統(RDBMS),廣泛應用於各種 Web 應用程式。本篇將介紹如何在 Fedora 上安裝、設定與管理 MySQL/MariaDB,並提供日常維護與最佳化建議。
目錄
安裝與啟動 MySQL / MariaDB
安裝 MySQL
sudo dnf install mysql-server -y
安裝 MariaDB(Fedora 預設支援 MariaDB)
sudo dnf install mariadb-server -y
啟動並設定開機自動啟動
sudo systemctl enable --now mysqld
檢查 MySQL / MariaDB 服務狀態
sudo systemctl status mysqld
基本設定
執行 MySQL/MariaDB 安全性設定
sudo mysql_secure_installation
此設定包含:
- 設定 root 密碼
- 移除匿名使用者
- 禁止遠端 root 登入
- 移除測試資料庫
- 重新載入權限表
登入 MySQL / MariaDB
mysql -u root -p
建立與管理資料庫
建立資料庫
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
顯示所有資料庫
SHOW DATABASES;
刪除資料庫
DROP DATABASE mydb;
使用者管理與權限設定
建立使用者
CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password123';
賦予使用者權限
GRANT ALL PRIVILEGES ON mydb.* TO 'user1'@'localhost';
刷新權限
FLUSH PRIVILEGES;
檢視使用者權限
SHOW GRANTS FOR 'user1'@'localhost';
刪除使用者
DROP USER 'user1'@'localhost';
資料庫備份與還原
備份資料庫
mysqldump -u root -p mydb > mydb_backup.sql
還原資料庫
mysql -u root -p mydb < mydb_backup.sql
備份所有資料庫
mysqldump -u root -p --all-databases > all_databases_backup.sql
效能最佳化
檢查目前設定
SHOW VARIABLES;
SHOW STATUS;
啟用查詢快取
編輯 /etc/my.cnf.d/server.cnf
或 /etc/my.cnf
,新增:
[mysqld]
query_cache_size = 16M
query_cache_type = 1
使用 mysqltuner
進行效能分析
安裝 mysqltuner
:
sudo dnf install mysqltuner -y
執行分析:
sudo mysqltuner
安全性強化
禁止 root 遠端登入
編輯 /etc/my.cnf.d/server.cnf
或 /etc/my.cnf
,加入:
[mysqld]
bind-address = 127.0.0.1
設定最大連線數
[mysqld]
max_connections = 200
啟用 SSL 連線
SHOW VARIABLES LIKE '%ssl%';
日誌與錯誤排除
查看錯誤日誌
sudo journalctl -u mysqld --no-pager | tail -n 50
查看慢查詢日誌
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 2;
查看慢查詢日誌:
cat /var/log/mariadb/slow-query.log
結語
本篇提供了 MySQL 和 MariaDB 在 Fedora 上的完整管理指南,包括安裝、設定、使用者管理、備份還原、效能最佳化與安全強化,確保您的資料庫能夠穩定、安全地運行。