mysql 创建用户 %_mysql-创建用户和授权

mysql权限管理

我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作。包括select、update、delete、update、grant等操作.

如何创建用户和密码

给当前的用户授权

移除当前用户的权限

如果你想创建一个新的用户,则需要以下操作

1 进入到mysql数据库下

mysql> use mysql;  # 选择数据库

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

2 对新用户增删改

(1) 创建用户

指定ip:192.168.11.88 的 用户:zhangsan 密码:123 登录

mysql> create user 'zhangsan'@'192.168.11.88' identified by '123';

Query OK, 0 rows affected (0.01 sec)

指定ip:192.168.11.% (%网段)的用户:zhangsan 密码:123 登录

mysql> create user 'zhangsan'@'192.168.11.%' identified by '123';

Query OK, 0 rows affected (0.00 sec)

指定任意ip的用户:zhangsan 密码:123 登录

mysql> create user 'zhangsan'@'%' identified by '123';

Query OK, 0 rows affected (0.00 sec)

(2) 删除用户

查看当前数据库的所有主机,用户

mysql> select host,user from user;

+---------------+-----------+

| host          | user      |

+---------------+-----------+

| %             | root      |

| %             | tao123    |

| %             | zhangsan  |

| 192.168.11.%  | zhangsan  |

| 192.168.11.88 | zhangsan  |

| localhost     | mysql.sys |

| localhost     | root      |

+---------------+-----------+

7 rows in set (0.00 sec)

删除用户

mysql> drop user 'zhangsan'@'%';  # 删除zhangsan用户从任意地址登录

Query OK, 0 rows affected (0.00 sec)

mysql> drop user 'zhangsan'@'192.168.11.%';  # 删除zhangsan用户从192.168.11.% 网段登录

Query OK, 0 rows affected (0.00 sec)

mysql> select host,user from user;  # 再次查询,已经删除

+---------------+-----------+

| host          | user      |

+---------------+-----------+

| %             | root      |

| %             | tao123    |

| 192.168.11.88 | zhangsan  |

| localhost     | mysql.sys |

| localhost     | root      |

+---------------+-----------+

5 rows in set (0.00 sec)

(3)修改用户

mysql> rename user 'zhangsan'@'192.168.11.88' to 'lisi'@'192.168.11.88';  # to前面老的,后面为新的

Query OK, 0 rows affected (0.00 sec)

mysql> select host,user from user;  # 已经更新

+---------------+-----------+

| host          | user      |

+---------------+-----------+

| %             | root      |

| %             | tao123    |

| 192.168.11.88 | lisi      |

| localhost     | mysql.sys |

| localhost     | root      |

+---------------+-----------+

5 rows in set (0.00 sec)

(4)修改密码

mysql> set password for 'lisi'@'192.168.11.88'=password('321');

Query OK, 0 rows affected, 1 warning (0.00 sec)

3 对当前的用户授权管理

查看权限

mysql> show grants for 'lisi'@'192.168.11.88';

+----------------------------------------------+

| Grants for lisi@192.168.11.88                |

+----------------------------------------------+

| GRANT USAGE ON *.* TO 'lisi'@'192.168.11.88' |

+----------------------------------------------+

1 row in set (0.00 sec)

授权 lisi用户仅对db1.author表有查询、插入和更新的操作

mysql> grant select,insert,update on db1.author to 'lisi'@'192.168.11.88';

Query OK, 0 rows affected (0.00 sec)

验证,使用lisi账号登陆,分别进行查询,插入,更新操作

这里使用第三方工具连接测试,使用的是Navicat,其它的也行

1a4d6ab19aaf3d5585eb70e40754ece8.png

连接成功后,只显示db1数据库下的author表内容

原始数据就4条,利用工具---进行---增,改,查操作,步骤不演示,直接上结果

c17d1a87031244366d320064a01b3240.png

插入数据,更新数据,查询数据成功

42edb46ba18ba1a43a8a3ff78c27bedb.png

删除数据失败,因为没有给删除权限

a06f37e08b1cf0e367298711881d92da.png

表示:有所有的权限,除了grant这个命令,这个命令是root才有的。lisi用户对db1下的author表有任意操作

mysql> grant all privileges on db1.author to 'lisi'@'%';

Query OK, 0 rows affected, 1 warning (0.00 sec)

由于之前设置了lisi账号的权限,需要删除,不然默认会以权限小的去执行

mysql> drop user 'lisi'@'192.168.11.88';  # 删除之前创建的

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;  # 刷新数据库权限

Query OK, 0 rows affected (0.01 sec)

验证:删除一行数据,删除成功

90fc3e8a33c33e5e62c637c4d93012d4.png

lisi用户对db1数据库中的文件执行任何操作,db1数据库下的所有表都有权限

mysql> grant all privileges  on db1.* to "lisi"@'%';

Query OK, 0 rows affected (0.00 sec)

34d6a5af149b03ebdf91785787d16e29.png

lisi用户对所有数据库中文件有任何操作(相当于root权限,不建议使用)

注意:对同一个账号赋予权限的时候,一定要取消之前给的权限,不然会有问题

mysql> revoke ALL PRIVILEGES ON `db1`.* from 'lisi'@'%';  #移除之前lisi对db1数据库的所有权限

Query OK, 0 rows affected (0.00 sec)

mysql> show grants for 'lisi'@'%';  # 查看lisi用户当前权限,GRANT USAGE ON *.* TO 'lisi'@'%'为默认权限

+----------------------------------+

| Grants for lisi@%                |

+----------------------------------+

| GRANT USAGE ON *.* TO 'lisi'@'%' |  

+----------------------------------+

1 row in set (0.00 sec)

mysql> grant all privileges  on *.*  to "lisi"@'%';  # 赋予lisi所有数据库权限(相当于root权限)

Query OK, 0 rows affected (0.00 sec)

重新连接Navicat,查看

已经变成root权限了(不推荐使用,很不安全)

7914711e76bab3307a5630dd409a7ed7.png

取消权限

取消来自远程服务器的lisi用户所有数据库的权限

mysql> show grants for 'lisi'@'%';  # 查看当前lisi用户的权限

+-------------------------------------------+

| Grants for lisi@%                         |

+-------------------------------------------+

| GRANT ALL PRIVILEGES ON *.* TO 'lisi'@'%' |

+-------------------------------------------+

1 row in set (0.00 sec)

mysql> revoke ALL PRIVILEGES ON *.* from 'lisi'@'%';  # 取消lisi用户所有数据的权限

Query OK, 0 rows affected (0.00 sec)

重新连接Navicat查看

已经取消所有数据库的权限了

99301089412567a333196432e598fdf1.png

MySql备份命令行操作

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值