mariadb数据库修改服务端口及创建用户
在一些安全场景下,不允许mariadb数据库默认端口提供服务并且不允许使用root账号登录管理,在MariaDB中修改默认端口号(默认3306)及创建用户需要以下步骤:
1. 编辑MariaDB配置文件
sudo vim /etc/my.cnf.d/server.cnf
或
sudo vim /etc/my.cnf
找到 [mysqld] 配置段,添加或修改 port 参数:
[mysqld]
port = 12306 # 修改为你需要的新端口号
2. 调整防火墙规则
开放新端口(以 12306 为例):
sudo firewall-cmd --permanent --add-port=12306/tcp #开放新的端口
sudo firewall-cmd --permanent --remove-port=3306/tcp #删除旧的端口规则
sudo firewall-cmd --reload
3. 处理SELinux(如启用)
允许MariaDB使用新端口:
sudo semanage port -a -t mysqld_port_t -p tcp 12306
若未安装 semanage,先安装:
sudo yum install policycoreutils-python-utils -y
4. 重启MariaDB服务
sudo systemctl restart mariadb
5. 验证端口修改
- 检查监听的端口:
ss -tuln | grep 12306
输出应显示 12306 端口处于监听状态。
6. 创建新用户并授权远程访问
语法(通用方法)
CREATE USER '用户名'@'%' IDENTIFIED BY '强密码';
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'%';
FLUSH PRIVILEGES;
#创建用户 `remoter`,允许从任何IP连接(`%`表示所有主机)
CREATE USER 'remoter'@'%' IDENTIFIED BY 'YourSecurePassword123!';
#授予所有数据库的所有权限(生产环境建议缩小权限范围)
GRANT ALL PRIVILEGES ON *.* TO 'remoter'@'%';
#刷新权限
FLUSH PRIVILEGES;
权限说明
- ALL PRIVILEGES:所有权限(慎用,建议按需授权,如 SELECT, INSERT, UPDATE)。
- *.*:所有数据库和表,可替换为 mydb.* 限制到特定数据库。
- '%':允许从任何IP连接,可替换为 '192.168.1.%' 限制子网或地址。
7. 测试远程连接
从另一台机器连接(替换 服务器IP 和 端口):
mysql -u remoter -p -h 服务器IP -P 12306
输入密码后,执行简单查询验证:
SHOW DATABASES;