Linux 环境下添加mysql用户、修改用户权限

一、创建用户

[html]  view plain  copy
  1. mysql> create user 'kuke'@'localhost' identified by 'root';  

说明:kuke – 你将创建的用户名, localhost – 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,  如 果想让该用户可以从任意远程主机登陆,可以使用通配符%.

root –  该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登 陆服务器.

如果要修改用户密码:

[html]  view plain  copy
  1. mysql> set password for kuke=password('123456');  
删除用户:

[html]  view plain  copy
  1. mysql> drop user kuke;  


二、授权

[html]  view plain  copy
  1. mysql> grant all on tiku.* to kuke;  

all :所有权限,包括 select ,update ,insert ,delete ,如果不想授权所有权限,可这样写:

[html]  view plain  copy
  1. mysql> grant select,insert on tiku.* to kuke;  

tiku: 数据库名,表示该用户只可对该数据库进行操作

*  : 表名,表示该用户只可对该表进行操作

如果想让该用户对所有数据库操作,可这样写:

[html]  view plain  copy
  1. mysql> grant all on *.* to kuke;  

如果要取消用户的权限,

[html]  view plain  copy
  1. mysql> revoke select on mysql.* from kuke;  
参数跟grant的参数一样

查看用户权限:

[html]  view plain  copy
  1. mysql> show grants for kuke;  


三、更新数据库

[html]  view plain  copy
  1. mysql> flush privileges;  

操作完必须更新数据库,否则不会生效。




如果按照以上步骤还不行,有两种可能:

第一:mysql绑定了ip

解决方法:删除配置文件my.cnf中的bind-address参数取消绑定


第二种可能3306端口被防火墙拦截了,参考下面的方法修改配置:

执行 vi /etc/sysconfig/iptables 如图:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

加入这句话就可以了, 注意这句话一定要加在最后一句话的上面. 否则不会生效.

同样如果是其它端口把"3306"换成相应端口即可.

然后重启一下防火墙

service iptables restart


参考:

http://www.cnblogs.com/echo-something/archive/2012/07/31/3306_port.html


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kexiaoling/article/details/50250825

你可能感兴趣的:(MySQL,linux)