Mysql80创建新用户并赋予权限

选择mysql数据库:

mysql -uroot -p
use mysql;

如果想修改为简单密码,需要修改下面两个全局参数:

set global validate_password.policy=0;
set global validate_password.length=1;

创建用户:

语法:create user '用户名'@'ip' identified by '密码';
# @'%'表示任意ip都可以访问这个数据库
create user 'qixing'@'%' identified by '123456';

删除用户:

语法:drop user '用户名'@'ip';
drop user 'qixing'@'%';

查看权限:

desc user;
select o.* from user o where o.user='root';
show grants for root;

root账户所拥有的的权限如下:

#顾名思义,看权限名大家应该就知道各个权限的意思了
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, 
REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES,
EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, 
ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE
ON *.* TO `root`@`%` WITH GRANT OPTION

赋予所有权限:

语法:grant 权限 on 数据库.数据库表 from ‘用户名’@‘ip’;
# *.*表示所有数据库的所有表
grant all privileges on *.* to 'qixing'@'%';
# 刷新权限
flush privileges;

赋予指定权限(如果不知有什么权限,可查看root的权限(上面已给出),合理给用户分配权限):

# 赋予 新增,修改,查询 权限
grant INSERT,UPDATE,SELECT on *.* to 'qixing'@'%';

回收权限:

语法:revoke 权限 on 数据库.数据库表 from ‘用户名’@‘ip’;
revoke all privileges on *.* FROM 'qixing'@'%';
发布了74 篇原创文章 · 获赞 53 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/m0_37679452/article/details/103253138
今日推荐