最简单(全部赋权)
# 创建用户
CREATE USER 'username'@'%' IDENTIFIED BY 'mypassword';
# 赋权所有
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
# 刷新权限
FLUSH PRIVILEGES;
1.创建mysql用户
1.1 新建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'mypassword';
参数
- username:需要被创建的用户名称
- host:指定登陆主机,“localhost”=>本地, “%”=>标识允许任意远程主机
- mypassword:用户登陆密码,建议复杂点
for example:
CREATE USER 'dbmanager'@'%' IDENTIFIED BY '123abc';
1.2 查询用户信息
select * from mysql.`user`
2.授权用户
GRANT privileges ON databasename.tablename TO 'username'@'host'
参数
- privileges:用户的操作权限:
insert
,select
,update
等,所有权限使用ALL - databasename:指定可以操作的数据库,通配符“*”表示所有库
- tablename:指定可以操作的数据表,通配符“*”表示所有表
- host:指定主机可以登录,
localhost
:表示本地用户可用,%
:通配符表示允许任意远程主机登陆
2.1 指定数据库和表赋权
示例1:
授权给xianpm用户tc数据库的tb_user数据表的查询和插入操作
GRANT SELECT, INSERT ON db.t_user TO 'dbmanager'@'%';
2.2 赋予全部权限
授权dbmanager用户可以操作所有权限
GRANT ALL ON *.* TO 'dbmanager'@'%';
2.3 查看用户权限
show grants for 'dbmanager';
2.4 回收用户权限
revoke privileges on DBNAME[.TABLENAME] from username;
2.5 收回用户数据库的所有权限
revoke all privileges on *.* from username;
3. 修改用户密码
use mysql;
select * from user;
update user set password = password('New@PassWord') where user = 'username';
4. 删除用户
如果直接从数据库delete删除用户,再次创建该用户时会报错
CREATE USER 'dbmanager'@'%' IDENTIFIED BY '123abc'
> 1025 - Operation CREATE USER failed for 'dbmanager'@'%'
> 时间: 0.01s
因此删除用户需要使用以下命令
drop user 'dbmanager'@'%';
5. 刷新权限(务必执行)
FLUSH PRIVILEGES;
评论区