# 初始配置与安全设置

URL: https://caijiao.org/mariadb/intro/install/secure-install
Source: docs/mariadb/intro/install/secure-install.md
Description: 本节介绍 MariaDB 安装后的初始配置与安全设置，包括 root 密码设置、远程访问控制、安全向导及字符集设置，确保数据库安全可靠运行。

MariaDB 安装完成后，为保障系统安全和正常运行，需进行一些基础配置和安全设置。

## 1. 设置 root 密码

如果尚未设置 root 密码，可以使用以下命令：

```bash
sudo mysql
````

登录后执行：

```sql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;
```

## 2. 运行安全配置向导

MariaDB 提供了 `mysql_secure_installation` 工具，帮助你快速进行安全配置：

```bash
sudo mysql_secure_installation
```

向导会引导你完成以下操作：

* 设置 root 密码（如尚未设置）
* 移除匿名用户
* 禁止 root 远程登录
* 删除测试数据库
* 重新加载权限表

## 3. 启用远程访问（可选）

如需允许远程访问，可编辑配置文件（路径可能为 `/etc/mysql/my.cnf` 或 `/etc/my.cnf`），将绑定地址修改为：

```ini
bind-address = 0.0.0.0
```

然后执行授权命令：

```sql
GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
```

注意：确保防火墙已开放 3306 端口，或仅对特定 IP 开放。

## 4. 设置默认字符集（推荐）

建议使用 `utf8mb4` 编码，支持完整 Unicode 字符：

编辑配置文件，在 `[mysqld]` 部分添加：

```ini
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
```

保存后重启 MariaDB：

```bash
sudo systemctl restart mariadb
```

完成上述配置后，MariaDB 将具备基本的安全保障与通用配置，适用于后续的开发与生产部署。
