📖 SUSE Linux 資料庫架設-MySQL 與 MariaDB 管理

分類:伺服器管理 | 作者:pake | 發布時間:2024-09-06 06:23

SUSE Linux MySQL 與 MariaDB 管理指南

MySQL 與 MariaDB 是常見的關聯式資料庫管理系統(RDBMS),廣泛應用於各種 Web 與企業應用中。本指南適用於 openSUSESUSE Linux Enterprise (SLE),涵蓋安裝、設定、管理與最佳化。


目錄

  1. 安裝與啟動 MySQL / MariaDB
  2. 基本安全設定
  3. 建立與管理資料庫
  4. 使用者管理與權限設定
  5. 資料庫備份與還原
  6. 效能最佳化
  7. 安全性強化
  8. 日誌與錯誤排除
  9. 結語

安裝與啟動 MySQL / MariaDB

安裝 MariaDB

openSUSE & SLE 預設打包 MariaDB:

sudo zypper refresh
sudo zypper install -y mariadb mariadb-tools

提示:若需 MySQL Enterprise,可手動加入 Oracle 的 RPM 源並安裝 mysql-community-server

啟動並設定開機自動啟動

sudo systemctl enable --now mariadb

檢查服務狀態

sudo systemctl status mariadb

基本安全設定

使用預設提供的安全安裝腳本:

sudo mysql_secure_installation

此腳本將引導您:


建立與管理資料庫

登入 MariaDB Shell:

sudo 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 'StrongP@ssw0rd';

賦予權限

GRANT ALL PRIVILEGES ON mydb.* TO 'user1'@'localhost';
FLUSH PRIVILEGES;

檢視使用者權限

SHOW GRANTS FOR 'user1'@'localhost';

刪除使用者

DROP USER 'user1'@'localhost';

資料庫備份與還原

備份單一資料庫

mysqldump -u root -p mydb > /backup/mydb_$(date +%F).sql

還原到資料庫

mysql -u root -p mydb < /backup/mydb_$(date +%F).sql

備份所有資料庫

mysqldump -u root -p --all-databases > /backup/all_databases_$(date +%F).sql

效能最佳化

查看設定與狀態

SHOW VARIABLES;
SHOW GLOBAL STATUS;

安裝 mysqltuner

sudo zypper install -y mysqltuner

執行分析:

sudo mysqltuner

啟用查詢快取(若適用)

/etc/my.cnf.d/server.cnf 添加:

[mysqld]
query_cache_size = 16M
query_cache_type = 1

重啟服務:

sudo systemctl restart mariadb

安全性強化

限制監聽位址

/etc/my.cnf.d/server.cnf 添加:

[mysqld]
bind-address = 127.0.0.1

設定最大連線數

[mysqld]
max_connections = 200

啟用 SSL/TLS

檢查支援狀態:

SHOW VARIABLES LIKE 'have_ssl';

若需要,自行部署憑證並在配置中設定:

[mysqld]
ssl-ca=/etc/mysql/ca.pem
ssl-cert=/etc/mysql/server-cert.pem
ssl-key=/etc/mysql/server-key.pem

日誌與錯誤排除

檢查錯誤日誌

sudo journalctl -u mariadb -e

或查看檔案:

sudo tail -n 50 /var/log/mysql/mariadb.log

啟用慢查詢日誌

/etc/my.cnf.d/server.cnf 添加:

[mysqld]
slow_query_log = ON
long_query_time = 2
slow_query_log_file = /var/log/mysql/slow.log

重啟:

sudo systemctl restart mariadb

檢視慢查詢:

sudo tail -f /var/log/mysql/slow.log

結語

本文介紹 SUSE Linux 上 MySQL/MariaDB 的完整管理流程,涵蓋安裝、設定、安全、最佳化與備份還原,助您維持資料庫的穩定與安全。

⬅ 上一篇 下一篇 ➡
🔙 返回 伺服器管理 📚 返回教學列表 🏠 返回首頁