mysql安装完成后如何配置权限_mysql安全管理设置

来源:这里教程网 时间:2026-02-28 20:45:26 作者:

安装完 MySQL 后,root 用户默认只能本地登录?

是的。MySQL 5.7+ 安装向导默认只创建

root@localhost
(或
root@127.0.0.1
),这意味着你用
mysql -uroot -p
在本机能连上,但远程客户端(比如 Navicat、Python 脚本从另一台机器连)会直接报错
Access denied for user 'root'@'xxx.xxx.xxx.xxx'
—— 因为 user 表里根本没这条记录。

别急着

GRANT ALL ON *.*
,先确认当前有哪些 root 用户:

SELECT user, host FROM mysql.user WHERE user = 'root';

常见结果是两行:

root@localhost
root@127.0.0.1
,但没有
root@'%'
。想开远程?不是改密码,而是加用户:

CREATE USER 'root'@'%' IDENTIFIED BY '你的强密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

⚠️ 注意:

WITH GRANT OPTION
允许该用户再授予权限,生产环境慎用;如果只是开发测试,可以去掉它。

为什么刚建的用户连不上数据库,show databases 只看到 information_schema?

新建用户(比如

CREATE USER 'appuser'@'%' IDENTIFIED BY 'pwd';
)默认没有任何库表权限,
SHOW DATABASES
也只会列出系统库,因为普通用户看不到其他数据库名 —— 这是 MySQL 的默认安全策略,不是 bug。

要让

appuser
访问
myapp
库,必须显式授权:

CREATE DATABASE IF NOT EXISTS myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT SELECT, INSERT, UPDATE, DELETE ON myapp.* TO 'appuser'@'%';
FLUSH PRIVILEGES;

别漏掉

FLUSH PRIVILEGES;
—— 权限变更不会自动生效,必须刷新内存中的权限缓存。否则你会反复重试却始终没效果。

哪些高危权限必须禁用?非管理员账号绝不能有

MySQL 的

FILE
PROCESS
SUPER
SHUTDOWN
CREATE USER
这几类权限,等同于把服务器的「后门钥匙」交出去。黑客一旦拿下一个低权限账号,就能靠它们提权、读取任意文件(如
/etc/passwd
)、杀掉服务、甚至创建新管理员。

检查有没有越权账号:

SELECT user, host FROM mysql.user WHERE File_priv = 'Y' OR Process_priv = 'Y' OR Super_priv = 'Y' OR Shutdown_priv = 'Y' OR Create_user_priv = 'Y';

如果返回了非 root 账号,立刻回收:

REVOKE FILE ON *.* FROM 'appuser'@'%';
REVOKE PROCESS, SUPER, SHUTDOWN, CREATE USER ON *.* FROM 'appuser'@'%';
FLUSH PRIVILEGES;

特别注意:

REVOKE
不会删除用户,只清权限;而
DROP USER
才是彻底删账号。别混淆。

配置完权限,远程还是连不上?别忘了防火墙和 bind-address

即使 MySQL 内部已授权

'user'@'%'
,外部仍连不上,大概率卡在两个地方:

Windows 防火墙 / Linux
ufw
iptables
拦截了
3306
端口 —— 开放端口或临时关防火墙验证
MySQL 配置文件(
my.cnf
my.ini
)里
bind-address = 127.0.0.1
(默认值),导致只监听本地回环,不接受外部连接。改成
bind-address = 0.0.0.0
或注释掉该行

改完配置必须重启 MySQL 服务:

sudo systemctl restart mysql
(Linux)或 Windows 服务管理器里重启
MySQL80
服务。改完不重启,等于白改。

最后提醒一句:权限最小化不是教条,而是成本核算——每个额外权限都意味着一次潜在的逃逸路径。宁可多跑几遍

GRANT
,也不要图省事给
ALL PRIVILEGES

相关推荐