MySQL 用户管理

57 阅读1分钟

代码可全程复制 或 跟敲

创建用户

create user 'ice'@'localhost' identified by '123456';

'@'后面的字符是登录的主机

在多人同时使用mysql时 , 通常要设置权限和用户主机

字段控制类型
%所有主机都可使用
localhost不会变成ip地址127.0.0.1 ,而是通过unixSocket连接的
127.0.0.1通过tcp/ip协议连接,只能在本地访问
::1兼容ipv6,表示同ipv4的127.0.0.1

关于socket 请自行百度

create user 'ice'@'%' identified by '123456';
create user 'ice'@'127.0.0.1' identified by '123456';

查看用户列表

SELECT User, Host FROM mysql.user ;

image-20250712110614301转存失败,建议直接上传图片文件

权限管理

-- 授予test数据库所有权限
grant ALL PRIVILEGES ON mssqldata.* TO 'ice'@'localhost';

-- 授予特定表只读权限
grant SELECT ON mssqldata.students TO 'ice'@'%';
grant SELECT ON mssqldata.teacher TO 'ice'@'%';
-- 授予多个权限
grant SELECT, INSERT, UPDATE ON mssqldata.*  TO 'ice'@'127.0.0.1';

-- 授予创建用户权限
GRANT CREATE USER ON *.* TO 'ice'@'localhost';

-- 授予所有权限(谨慎使用)
GRANT ALL PRIVILEGES ON *.* TO 'ice'@'localhost' WITH GRANT OPTION;

-- 刷新权限
FLUSH PRIVILEGES;

查看用户权限

show grants FOR 'ice'@'localhost';
show grants FOR 'ice'@'%';
show grants FOR 'ice'@'192.168.1.%';

修改账户属性

-- MySQL 5.7.6+版本
alter user 'ice'@'localhost' IDENTIFIED BY '12345';

-- 旧版本
SET PASSWORD FOR 'ice'@'localhost' = PASSWORD('12345');
-- 重命名
RENAME USER 'ice'@'localhost' TO 'snow'@'localhost';

-- 锁定账户
ALTER USER 'ice'@'localhost' ACCOUNT LOCK;
-- 解锁
ALTER USER 'ice'@'localhost' ACCOUNT UNLOCK;

-- 撤销部分权限
REVOKE INSERT ON test.* FROM 'ice'@'localhost';
-- 撤销所有权限
REVOKE ALL PRIVILEGES ON *.* FROM 'ice'@'localhost';


-- 删除用户
DROP USER 'ice'@'localhost';