Linux创建mysql用户,赋权限

查看数据库实例中的用户权限信息

    在Linux的mysql指令路径下执行./mysql -u root -p  登录mysql(root权限,需要有mysql.user查看权限的用户)

mysql.user表中所有的用户权限信息



创建用户

mysql> create user 'noone'@'localhost' identified by '123456';

ps:

noone– 你将创建的用户名

localhost – 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,  如果想让该用户可以从任意远程主机登陆,可以使用通配符%.

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

修改用户密码:

mysql> set password for noone=password('123456');

删除用户:

mysql> drop user noone;


授权

mysql> grant all on *.* to noone ;

all :所有数据库权限,包括 select ,update ,insert ,delete 

mysql> grant select,insert on leo.* to noone  ;

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

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

取消用户的权限

mysql> revoke select on leo .* from noone  ;

查看用户权限:

mysql> show grants for noone ;

更新数据库

mysql> flush privileges;

所有操作必须执行命令立即生效


禁止MySQL root用户远程访问权限

use mysql;

update user set host = "localhost" where user = "root" and host = "%";

flush privileges;

1, 切换到mysql数据库;

2, 修改root用户的host属性,确保其为localhost,这表示只能本地访问;

3, 刷新。

打开MySQL root用户的远程访问权限

use mysql;

update user set host = "%" where user = "root" and host = "localhost" ;

flush privileges;

最后,设置好了以后,要重启MySQL进程。


防火墙防止禁止远程连接


此处为阿里云防火墙设置,接受任何ip连接

本地服务器

1.删除配置文件my.cnf中的bind-address参数取消绑定

2.执行 vim /etc/sysconfig/iptables 

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

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

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

然后重启一下防火墙

service iptables restart

你可能感兴趣的:(Linux创建mysql用户,赋权限)