主题
CentOS 7 MariaDB服务部署指南
🚀 一、部署步骤
1. 系统环境检查
bash
# 检查系统版本
cat /etc/redhat-release
# 检查是否已安装MariaDB,一般默认已经安装
rpm -qa | grep mariadb1
2
3
4
2
3
4


2. 安装MariaDB
安装MariaDB服务器和客户端 安装之前先执行:更换源方法
bash
# 切换成root用户
su - root
# 安装MariaDB服务器和客户端
yum -y install mariadb-server mariadb
# 验证安装
rpm -qa | grep mariadb1
2
3
4
5
6
2
3
4
5
6
输出示例:
mariadb-5.5.68-1.el7.x86_64
mariadb-server-5.5.68-1.el7.x86_64
mariadb-libs-5.5.68-1.el7.x86_641
2
3
2
3

3. 启动并配置MariaDB服务
bash
# 启动MariaDB服务
systemctl start mariadb
# 设置MariaDB开机自启
systemctl enable mariadb
# 检查服务状态
systemctl status mariadb1
2
3
4
5
6
2
3
4
5
6

4. 安全配置
bash
# 运行安全配置脚本
mysql_secure_installation1
2
2
配置选项说明:
Enter current password for root (enter for none): # 直接回车(默认无密码)
Set root password? [Y/n] y # 设置root密码
New password: # 输入新密码,记好密码,最好用大键盘
Re-enter new password: # 确认密码,记好密码,最好用大键盘
Remove anonymous users? [Y/n] y # 删除匿名用户
Disallow root login remotely? [Y/n] y # 禁止root远程登录(生产环境推荐)
Remove test database? [Y/n] y # 删除测试数据库
Reload privilege tables now? [Y/n] y # 重新加载权限表1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
如上全部设置完之后,MariaDB的安装和配置就完成了。 
5. 基础配置
bash
# 编辑MariaDB配置文件
vim /etc/my.cnf.d/server.cnf1
2
2
在[mysqld]部分添加以下配置:
ini
# 设置字符集
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
# 设置默认存储引擎
default-storage-engine=INNODB
# 设置最大连接数
max_connections=200
# 设置网络端口
port=3306
# 设置绑定地址(允许远程连接)
bind-address=0.0.0.0
# 设置查询缓存
query_cache_type=1
query_cache_size=32M
# 设置日志
log-error=/var/log/mariadb/mariadb.log
slow_query_log=1
slow_query_log_file=/var/log/mariadb/mariadb-slow.log
long_query_time=2
# 设置时区
default-time-zone='+8:00'1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
bash
# 重启MariaDB使配置生效
systemctl restart mariadb1
2
2

6. 防火墙配置
bash
# 开放MariaDB端口
firewall-cmd --permanent --add-port=3306/tcp
# 重新加载防火墙配置
firewall-cmd --reload
# 验证端口开放
firewall-cmd --list-ports1
2
3
4
5
6
2
3
4
5
6
或者直接完全关闭防火墙
bash
systemctl stop firewalld
systemctl disable firewalld
setenforce 01
2
3
2
3
🧪 二、部署后测试
1. 服务状态测试
bash
# 检查MariaDB服务状态
systemctl status mariadb
# 检查端口监听
netstat -tlnp | grep 3306
# 检查进程
ps aux | grep mariadb1
2
3
4
5
6
2
3
4
5
6
预期输出:

2. 本地连接测试
bash
# 使用root用户登录
mysql -u root -p # 输入你之前设置的密码
# 输入密码后,执行以下SQL命令测试
SELECT VERSION();
SELECT USER();
SHOW DATABASES;1
2
3
4
5
6
7
2
3
4
5
6
7
预期输出:

3. 创建测试数据库和用户
sql
-- 创建测试数据库
CREATE DATABASE testdb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 创建测试用户
CREATE USER 'testuser'@'%' IDENTIFIED BY '123456';
-- 授予权限
GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'%';
-- 刷新权限
FLUSH PRIVILEGES;
-- 切换到测试数据库
USE testdb;
-- 创建测试表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 插入测试数据
INSERT INTO users (username, email) VALUES
('admin', 'admin@example.com'),
('user1', 'user1@example.com'),
('user2', 'user2@example.com');
-- 查询测试数据
SELECT * FROM users;
SELECT * FROM users WHERE username = 'admin';
-- 退出MySQL
EXIT;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27




4. 远程连接测试
1.如果另一台机器是linux系统:
bash
# 安装MariaDB客户端(如果还没有)
yum -y install mariadb
# 远程连接测试
mysql -h 服务器IP -P 3306 -u testuser -p # 输入123456
# 连接成功后执行测试
USE testdb;
SELECT * FROM users;
EXIT;1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10

2.如果另一台机器是linux系统: 打开navicat,新建连接,选择mariadb 



📊 三、常用管理命令
服务管理
bash
# 启动MariaDB
sudo systemctl start mariadb
# 停止MariaDB
sudo systemctl stop mariadb
# 重启MariaDB
sudo systemctl restart mariadb
# 查看服务状态
sudo systemctl status mariadb
# 设置开机自启
sudo systemctl enable mariadb
# 禁用开机自启
sudo systemctl disable mariadb1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
日志查看
bash
# 查看错误日志
sudo tail -f /var/log/mariadb/mariadb.log
# 查看慢查询日志
sudo tail -f /var/log/mariadb/mariadb-slow.log
# 查看系统日志
sudo journalctl -u mariadb1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
数据库管理
bash
# 登录MySQL
mysql -u root -p
# 列出所有数据库
SHOW DATABASES;
# 创建数据库
CREATE DATABASE dbname;
# 删除数据库
DROP DATABASE dbname;
# 列出所有用户
SELECT User, Host FROM mysql.user;
# 修改用户密码
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
# 备份数据库
mysqldump -u root -p dbname > backup.sql
# 恢复数据库
mysql -u root -p dbname < backup.sql1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
🔧 四、故障排除
常见问题及解决方案
1. 服务启动失败
bash
# 检查错误日志
sudo tail -f /var/log/mariadb/mariadb.log
# 检查配置文件语法
sudo mysqld --help --verbose
# 检查磁盘空间
df -h
# 检查权限
sudo chown -R mysql:mysql /var/lib/mysql1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
2. 连接被拒绝
bash
# 检查服务状态
sudo systemctl status mariadb
# 检查端口监听
sudo netstat -tlnp | grep 3306
# 检查防火墙
sudo firewall-cmd --list-ports
# 检查用户权限
mysql -u root -p
SELECT User, Host FROM mysql.user;1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
3. 忘记root密码
bash
# 停止MariaDB服务
sudo systemctl stop mariadb
# 以安全模式启动
sudo mysqld_safe --skip-grant-tables &
# 连接并重置密码
mysql -u root
UPDATE mysql.user SET Password=PASSWORD('newpassword') WHERE User='root';
FLUSH PRIVILEGES;
EXIT;
# 重启服务
sudo systemctl restart mariadb1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
完成以上步骤后,MariaDB服务就成功部署在CentOS 7上了!