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

一、创建用户

mysql> create user 'kuke'@'localhost' identified by 'root';

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

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

如果要修改用户密码:

mysql> set password for kuke=password('123456');
删除用户:

mysql> drop user kuke;


二、授权

mysql> grant all on tiku.* to kuke;

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

mysql> grant select,insert on tiku.* to kuke;

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

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

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

mysql> grant all on *.* to kuke;

如果要取消用户的权限,

mysql> revoke select on mysql.* from kuke;
参数跟grant的参数一样

查看用户权限:

mysql> show grants for kuke;


三、更新数据库

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


你可能感兴趣的:(Linux,Mysql)