MySQL 用户权限管理:创建用户、分配权限,实战操作

发布时间:2026/7/17 0:07:48
MySQL 用户权限管理:创建用户、分配权限,实战操作 前言线上数据库绝对不能直接使用 root 账号给程序连接权限过大一旦泄露整库沦陷。 本文完整实操创建账号、授权、回收权限、修改密码、删除用户适配运维与开发日常操作。一、登录 root 管理员账号mysql -uroot -p二、创建新用户语法-- 格式CREATE USER 用户名访问主机 IDENTIFIED 密码; -- 1. 仅本地localhost登录 CREATE USER devlocalhost IDENTIFIED Dev123456; -- 2. 允许任意远程IP连接程序服务器使用 CREATE USER shop% IDENTIFIED Shop654321; -- 3. 仅指定IP访问安全性最高 CREATE USER admin192.168.1.% IDENTIFIED Admin789;三、分配权限 GRANT1. 给指定库全部增删改查权限程序账号标准配置GRANT SELECT,INSERT,UPDATE,DELETE ON shop_db.* TO shop%; FLUSH PRIVILEGES; -- 刷新权限立即生效2. 管理员全库所有权限仅 DBA 使用GRANT ALL PRIVILEGES ON *.* TO admin192.168.1.%; FLUSH PRIVILEGES;3. 仅查询权限报表只读账号GRANT SELECT ON shop_db.* TO read_user%; FLUSH PRIVILEGES;四、回收权限 REVOKE-- 回收用户删除、修改权限 REVOKE UPDATE,DELETE ON shop_db.* FROM shop%; FLUSH PRIVILEGES;五、常用运维操作修改用户密码ALTER USER shop% IDENTIFIED NewPass123;查询所有用户SELECT user,host FROM mysql.user;查看用户已有权限SHOW GRANTS FOR shop%;删除无用账号DROP USER IF EXISTS devlocalhost;六、权限安全规范业务程序账号只分配对应库的 DML 权限不给 DROP、ALTER、CREATE禁止线上程序使用 root 账号远程账号密码必须包含大小写、数字、特殊符号尽量限制访问 IP不用万能%离职人员、废弃项目及时删除数据库账号。