Mysql相关操作命令合集

参考文档:2021-06-25MySQL8.0创建用户和权限控制 - 简书

mysql登陆命令:

mysql  -u用户名 -p密码;

若遇到复杂密码,包含特殊字符,则需要做转义(以下密码为:rootry?elyl!):

mysql -uroot -prootry\?elyl\!

重置密码命令(mysql8.0.25):

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

创建用户:

host:指定该用户在哪个主机上可以登陆,从本地登录填localhost,或者IP(192.168.98.1),任意主机登陆填通配符%
password:登陆密码,密码可以为空,如果为空则该用户可以不需要密码也可登陆

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

授权:

privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名,如果授予整个数据库权限填databasename.*
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

GRANT privileges ON databasename.tablename TO 'username'@'host';

grant select on test.* to 'query'@'%';

取消授权:

mysql只有授权没有禁止,因此取消授权就是将原来授权过的权限和范围原样取消。

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

revoke select on test.* from 'query'@'%';

若授权的是test.*,取消授权时为test.t_emp,则无法取消。

若需要对某张表进行授权排除,则只能对除这张表外的所有表进行授权。此时可以通过查询拼接语句的方式,找出除这张表外其他表的授权语句,再进行批量执行:

select concat('grant select on lmehr.',table_name,' to \'query\'@\'%\';')
from information_schema.tables 
where table_schema = 'lmehr'
and table_name !='t_table_a'
and table_name !='t_table_b'
and table_name !='t_table_c'
and table_name !='t_table_d'
and table_name !='t_table_e'
and table_name !='t_table_f'
and table_name !='t_table_g'
and table_name !='t_table_h'

查看所有授权:

SHOW GRANTS FOR 'USERNAME'@'HOST';

show grants for 'query'@'%';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值