mysql新建用户并授权到某个表

1、用root用户登录,然后进入mysql库

mysql -uroot -p123456

use mysql;

2、创建用户,localhost代表本地用户,此用户不能远程登录,即无法通过远程的mysql客户端(navicate,SQLyog)登录。%代表远程用户。执行2个create该用户本地、远程都可登录。

CREATE USER 'bdc'@'localhost' IDENTIFIED BY 'bdc'; 

CREATE USER 'bdc'@'%' IDENTIFIED BY 'bdc'; 

3、授权命令。第一种是某个库的某个表,第二种是某个库(vod)的所有库表所有权限。

GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, CREATE VIEW, SHOW VIEW ON `dailyreport`.yuanxian_info to 'bdc'@'%' identified  by 'bdc'; 

grant all privileges on vod.* to 'bdc'@'%' identified by 'bdc'; 

4、刷新授权,刷新后才奏效。

flush privileges;

ok啦~******记事本**************************分割线*******************************

5、补充:如果想重新授权,需要revoke之前授权

revoke all on *.* from bdc@localhost;

有的时候删除用户了drop user 'bdc'@'%'; 登录后还报错,也是需要刷新一下授权。

flush privileges;

[root@localhost ~]# mysql -ucdm -pcdm

ERROR 1045 (28000): Access denied for user 'cdm'@'localhost' (using password: YES)

下面这句,可以把localhost用户改为远程用户,这样可以限制远程的用户本地登录不了,本地用户客户端登录不了。

update user set host = '%' where user = 'zhiban';

猜你喜欢

转载自blog.csdn.net/caihuashen/article/details/79408755