创建数据库与数据库账号权限

分类:安装部署 · 更新于 2026-11-05 · 约 909 字

在宝塔或命令行新建 utf8mb4 数据库,创建独立账号并按最小必要范围授权。

一、创建数据库

在宝塔「数据库 → 添加数据库」中新建,字符集选 utf8mb4;也可用命令行创建:

CREATE DATABASE kfdb
  DEFAULT CHARACTER SET utf8mb4
  COLLATE utf8mb4_general_ci;

utf8mb4 可完整保存中文与表情符号,若库里出现问号乱码,多为建库时用了旧字符集。

二、创建独立账号

本系统只操作自己的库,建议每个站点配一个独立账号,避免多站共用一个高权限账号:

CREATE USER 'kfdb'@'localhost' IDENTIFIED BY '替换为高强度密码';
  • 主机用 localhost 表示仅本机可连,这是最安全的选择。
  • 需要远程连接时才改为 '账号'@'%',并在防火墙放行来源 IP;风险较高,用完及时收紧。
  • 密码用大小写字母、数字与符号组合,长度 12 位以上。

三、授予权限

授权时限定到指定库,让账号只在自己的库上操作:

GRANT ALL PRIVILEGES ON kfdb.* TO 'kfdb'@'localhost';
FLUSH PRIVILEGES;

也可按最小必要原则细分:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP
  ON kfdb.* TO 'kfdb'@'localhost';

安装向导需要建表,因此首次安装要包含 CREATE、ALTER、INDEX、DROP;上线稳定后可回收建表类权限。

四、验证与常见问题

检查账号实际权限:

SHOW GRANTS FOR 'kfdb'@'localhost';
现象原因处理
连接被拒主机段与来源不符核对 localhost 与 IP,检查防火墙
权限不足未授权或只授权了其他库重新 GRANT ... ON 库名.*
中文乱码连接字符集不一致库与连接统一 utf8mb4
若你此前用 IIS 与 SQL Server,账号与库通过“用户映射 + db_owner”关联,在 MySQL 中等价于上述 GRANT 授权。

相关教程

文档对不上实际界面?可在常见问题中查找排查步骤,或按「安装部署」中的环境要求核对版本。