mysql授权远程用户连接(权限最小化原则)
2017-01-16 11:21
585 查看
1、进入MySQL,创建一个新用户root,密码为root:
格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by “用户密码”;
grant select,update,insert,delete on . to root@192.168.1.12 identified by “root”;
原先数据表结构
执行上述语句后结果
可以看到在user表中已有刚才创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名,
有时想用本地IP登录,那么可以将以上的Host值改为自己的Ip即可。
2、实现远程连接(授权法)
将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。
update user set host = ’%’ where user = ’root’;
将权限改为ALL PRIVILEGES
这样机器就可以以用户名root密码root远程访问该机器上的MySql.
3、实现远程连接(改表法)
use mysql;
update user set host = ‘%’ where user = ‘root’;
这样在远端就可以通过root用户访问Mysql.
mysql假如授权 grant all privileges on *.* to 'huowuzhao'@'192.168.%' identified by 'password';
再授权grant all privileges on *.* to 'huowuzhao'@'192.168.222.%' identified by 'password';之后,之前授权的用户将失效,是因为mysql有权限最小化原则。
格式:grant 权限 on 数据库名.表名 to 用户@登录主机 identified by “用户密码”;
grant select,update,insert,delete on . to root@192.168.1.12 identified by “root”;
原先数据表结构
mysql> use mysql; Database changed mysql> select host,user,password from user; +-----------+------+-------------------------------------------+ | host | user | password | +-----------+------+-------------------------------------------+ | localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | +-----------+------+-------------------------------------------+
执行上述语句后结果
mysql> use mysql; Database changed mysql> select host,user,password from user; +--------------+------+-------------------------------------------+ | host | user | password | +--------------+------+-------------------------------------------+ | localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | 192.168.1.12 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | +--------------+------+-------------------------------------------+ 2 rows in set (0.00 sec)
可以看到在user表中已有刚才创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名,
有时想用本地IP登录,那么可以将以上的Host值改为自己的Ip即可。
2、实现远程连接(授权法)
将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。
update user set host = ’%’ where user = ’root’;
将权限改为ALL PRIVILEGES
mysql> use mysql; Database changed mysql> grant all privileges on *.* to root@'%' identified by "root"; Query OK, 0 rows affected (0.00 sec) mysql> select host,user,password from user; +--------------+------+-------------------------------------------+ | host | user | password | +--------------+------+-------------------------------------------+ | localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | 192.168.1.12 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | % | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | +--------------+------+-------------------------------------------+ 3 rows in set (0.00 sec)
这样机器就可以以用户名root密码root远程访问该机器上的MySql.
3、实现远程连接(改表法)
use mysql;
update user set host = ‘%’ where user = ‘root’;
这样在远端就可以通过root用户访问Mysql.
mysql假如授权 grant all privileges on *.* to 'huowuzhao'@'192.168.%' identified by 'password';
再授权grant all privileges on *.* to 'huowuzhao'@'192.168.222.%' identified by 'password';之后,之前授权的用户将失效,是因为mysql有权限最小化原则。
相关文章推荐
- Mysql授权root用户使用远程客户端连接
- mysql 允许远程IP连接, 并查看所有用户的所有权限
- 授权远程用户连接mysql
- 创建MySQL用户 赋予某指定库表的权限 flush privileges才能生效!!!!;@'localhost'授权本地,@'%'授权远程
- Mysql权限控制 - 允许用户远程连接
- Mysql 新建用户以及授权远程连接操作
- Mysql权限控制 - 允许用户远程连接
- Mysql权限控制 - 允许用户远程连接
- Mysql权限控制 - 允许用户远程连接
- Mysql权限控制 - 允许用户远程连接
- 给mysql用户进行远程连接权限
- Mysql权限控制 - 允许用户远程连接
- Mysql授权root用户使用远程客户端连接
- Mysql权限控制 - 允许用户远程连接
- 远程用户连接mysql,mysql授权远程连接
- mysql 修改用户权限,允许远程连接数据库
- mysql 添加用户,授权,远程登陆,远程导入导出数据库,用户及权限查询,新增用户无法登陆,
- 异机远程连接mysql时user表内的用户权限设置
- Mysql权限控制 - 允许用户远程连接
- Mysql权限控制 - 允许用户远程连接