以下是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 # 缓存池大小(建议为物理内存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
)。参考来源: