Linux MariaDB如何安装与配置
导读:一、安装前准备 更新系统包:确保系统软件包列表最新,避免依赖冲突。 Debian/Ubuntu系统执行:sudo apt update; CentOS/RHEL系统执行:sudo yum update。 备份现有数据(可选但推荐):若系统...
一、安装前准备
- 更新系统包:确保系统软件包列表最新,避免依赖冲突。
Debian/Ubuntu系统执行:sudo apt update
;
CentOS/RHEL系统执行:sudo yum update
。 - 备份现有数据(可选但推荐):若系统已有旧版数据库,需提前备份数据以防丢失。
例如:sudo mysqldump -u root -p existing_db > existing_db_backup.sql
。
二、安装MariaDB
- Debian/Ubuntu系统:
使用APT包管理器安装MariaDB服务器及客户端:
sudo apt install mariadb-server
。
安装过程中会提示设置root用户初始密码(若未提示,需后续通过安全脚本设置)。 - CentOS/RHEL系统:
使用YUM包管理器安装:
sudo yum install mariadb-server
。
安装完成后,服务会自动启动(若未启动,需手动执行sudo systemctl start mariadb
)。
三、启动与开机自启
- 启动服务:安装完成后,立即启动MariaDB服务:
sudo systemctl start mariadb
。 - 设置开机自启:确保系统重启后自动启动MariaDB:
sudo systemctl enable mariadb
。 - 验证服务状态:确认服务是否正常运行:
sudo systemctl status mariadb
(显示“active (running)”即为成功)。
四、安全配置
- 运行安全脚本:执行
mysql_secure_installation
工具,完成以下关键安全设置:
① 设置root用户密码强度(若安装时未设置);
② 删除匿名用户(避免未授权访问);
③ 禁止root用户远程登录(降低被攻击风险);
④ 删除测试数据库(避免敏感信息泄露);
⑤ 重新加载权限表(使设置生效)。
全程按提示输入“Y”确认。
五、基础配置(字符集与性能)
- 编辑配置文件:根据Linux发行版选择对应路径:
Debian/Ubuntu:/etc/mysql/mariadb.conf.d/50-server.cnf
;
CentOS/RHEL:/etc/my.cnf
或/etc/my.cnf.d/server.cnf
。 - 常用配置项(需重启服务生效):
[mysqld] character-set-server=utf8mb4 # 设置服务器字符集为utf8mb4(支持emoji等特殊字符) collation-server=utf8mb4_unicode_ci # 设置排序规则 innodb_buffer_pool_size=2G # InnoDB缓冲池大小(建议为物理内存的50%-70%,根据服务器配置调整) max_connections=500 # 最大并发连接数(根据应用需求调整,避免过高导致内存溢出) log-bin=/var/log/mysql/mariadb-bin # 启用二进制日志(用于主从复制、数据恢复) server-id=1 # 主服务器唯一ID(主从复制场景需设置,从服务器需设为不同值) bind-address=0.0.0.0 # 允许远程访问(生产环境建议限制为可信IP,如192.168.1.100)
- 重启服务:修改配置后,重启MariaDB使设置生效:
sudo systemctl restart mariadb
。
六、验证安装
- 登录数据库:使用root用户登录MariaDB命令行:
mysql -u root -p
(输入之前设置的root密码)。 - 检查版本:执行以下SQL命令,确认MariaDB版本:
SELECT VERSION();
(如“10.11.6-MariaDB-1:10.11.6+maria~ubu2404”)。 - 查看字符集:确认字符集配置是否生效:
SHOW VARIABLES LIKE 'character_set_server';
(应显示“utf8mb4”);
SHOW VARIABLES LIKE 'collation_server';
(应显示“utf8mb4_unicode_ci”)。
七、可选高级配置
- 远程访问设置:
① 确保bind-address
设置为0.0.0.0
(允许所有IP访问,生产环境建议限制为特定IP);
② 开放防火墙端口(以Ubuntu的ufw为例):sudo ufw allow 3306/tcp
;
③ 创建远程用户并授权(替换remote_user
、密码
、%
为实际值):CREATE USER 'remote_user'@'%' IDENTIFIED BY '密码'; GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
- 主从复制配置(适用于数据同步场景):
① 主服务器:配置log-bin
和server-id
(如server-id=1
);
② 从服务器:配置relay-log
和server-id
(如server-id=2
);
③ 在主服务器执行SHOW MASTER STATUS
获取二进制日志文件名和位置;
④ 在从服务器执行CHANGE MASTER TO
命令同步数据,并启动复制:CHANGE MASTER TO MASTER_HOST='主服务器IP', MASTER_USER='replication_user', MASTER_PASSWORD='密码', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154; START SLAVE;
八、常用管理命令
- 启动/停止服务:
sudo systemctl start mariadb
、sudo systemctl stop mariadb
; - 重启服务:
sudo systemctl restart mariadb
; - 查看状态:
sudo systemctl status mariadb
; - 备份数据库:
mysqldump -u root -p 数据库名 > backup.sql
(如mysqldump -u root -p mydb > mydb_backup.sql
); - 恢复数据库:
mysql -u root -p 数据库名 < backup.sql
(如mysql -u root -p mydb < mydb_backup.sql
)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux MariaDB如何安装与配置
本文地址: https://pptw.com/jishu/722508.html