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';