以下是Linux環境下配置MariaDB的核心步驟,涵蓋安裝、安全設置及參數優化:
更新系統并安裝
sudo apt update && sudo apt install mariadb-server
sudo yum install mariadb-server
安裝后服務會自動啟動。
運行安全腳本
sudo mysql_secure_installation
按提示設置root密碼、刪除匿名用戶、禁止root遠程登錄等。
編輯配置文件
/etc/mysql/mariadb.conf.d/50-server.cnf
/etc/my.cnf
或 /etc/my.cnf.d/server.cnf
[mysqld]
character-set-server=utf8mb4 # 設置字符集
collation-server=utf8mb4_unicode_ci
innodb_buffer_pool_size=2G # 緩存池大?。ńㄗh為物理內存50-70%)
max_connections=500 # 最大連接數
log-bin=/var/log/mysql/mariadb-bin # 啟用二進制日志(用于主從復制)
server-id=1 # 主服務器ID(主從復制場景)
bind-address=0.0.0.0 # 允許遠程訪問(設為0.0.0.0,生產環境需限制IP)
sudo systemctl restart mariadb
驗證配置
登錄MariaDB后執行:
SHOW VARIABLES LIKE 'character_set_server'; # 檢查字符集
SHOW VARIABLES LIKE 'innodb_buffer_pool_size'; # 檢查緩存大小
遠程訪問:
bind-address
為0.0.0.0
,并開放防火墻端口(如3306):sudo ufw allow 3306/tcp # Ubuntu
sudo firewall-cmd --add-port=3306/tcp --permanent # CentOS
CREATE USER 'remote_user'@'%' IDENTIFIED BY '密碼';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
主從復制配置:
在主服務器配置log-bin
和server-id
,從服務器配置relay-log
和server-id
,并使用CHANGE MASTER TO
命令同步數據。
sudo systemctl start/stop mariadb
sudo systemctl enable mariadb # 設置開機自啟
mysqldump -u root -p 數據庫名 > backup.sql
sudo systemctl status mariadb
skip-networking
并限制bind-address
僅允許可信IP訪問。/var/log/mysql/error.log
)和性能指標(如SHOW STATUS
)。參考來源: