grant all privileges on *.* to '用户名'@'登录IP或者域名' identified by '登录密码' with grant option;
复制代码
all privileges: 表现授权用户全部权限,当然你也可以指定赋予详细权限,好比SELECT、UPDATE、CREATE、DROP等。
on:表现这些权限可以作用于哪些数据库和哪些表,*.*表现作用于所有数据库和所有表,格式为数据库名.表名。好比有一个test库,想让yxc用户拥有查看test库所有表的权限,那么可以如许写:grant SELECT on test.* to 'yxc'@'%' identified by '登录暗码';
grant all privileges on test.* to 'yxc'@'%' identified by 'yxc@224!707' with grant option;
复制代码
如果有些MySQL的数据库版本不答应在创建用户时就赋予权限,那么必要将创建和权限赋予分为两步:
create user 'yxc'@'%' identified by 'yxc@224!707'; -- 创建用户
GRANT all privileges ON test.* TO 'yxc'@'%'; -- 将所有权限赋予给用户
复制代码
然后革新权限使更改见效。
FLUSH PRIVILEGES;
复制代码
其他语法:
# 查看用户拥有的权限SHOW GRANTS FOR 'yxc'@'%';# 删除用户DROP USER 'yxc'@'%'; -- 删除用户yxc,用户名(User)和主机名(Host)构成FLUSH PRIVILEGES;
-- 革新权限# 禁用用户ALTER USER 'yxc'@'%' ACCOUNT lock; -- 禁用账号yxcFLUSH PRIVILEGES;
-- 革新权限# 排除禁用ALTER USER 'yxc'@'%' ACCOUNT UNLOCK; -- 排除禁用账号yxcFLUSH PRIVILEGES;
-- 革新权限# 重命名用户名-- 语法:rename user '用户名'@'IP或者域名' to '新用户名'@'IP或者域名';-- eg:将yxc用户重命名为lyrename user 'yxc'@'%' to 'ly'@'%';# 修改用户暗码 set password for '用户名'@'IP或者域名'=password('新暗码')# 打消权限REVOKEREVOKE SELECT ON test.* FROM 'yxc'@'%'; -- 打消yxc在数据库test的权限# 查看暗码逾期时间show variables like 'default_password_lifetime';-- 0表现永不逾期# 设置暗码逾期时间为180天set global default_password_lifetime=180;# 强制用户暗码逾期ALTER USER 'yxc'@'%' PASSWORD EXPIRE;