mysql 客户端连接和权限管理

  1. 客户端能够连接到MySQL服务器的条件有

用户名、密码、IP地址

示例1:

(root@localhost)[performance_schema]> create user 'david'@'%' identified by 'david';
Query OK, 0 rows affected (0.02 sec)

上述命令创建用户:david,密码:david,IP:客户端的IP任意

(root@localhost)[performance_schema]> drop user 'david'@'%';
Query OK, 0 rows affected (0.00 sec)

删除用户david,重新连接, 报出错误:

2003:Can not connect to MySQL server on '192.168.150.149'(10060);

示例2:

(root@localhost)[performance_schema]> create user 'david'@'192.165.1.%' identified by 'david';
Query OK, 0 rows affected (0.00 sec)

创建用户david,密码:david,IP地址要求是:192.165.1.% 此时在主机192.168.%.%无法连接到用户david的MySQL服务器

  1. 查看用户权限

(1)查看当前用户权限

(root@localhost)[performance_schema]> show grants;
+---------------------------------------------------------------------+
| Grants for root@localhost                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION        |
+---------------------------------------------------------------------+
2 rows in set (0.00 sec)

(2)查看指定用户权限

(root@localhost)[performance_schema]> show grants for 'david'@'%';
+-----------------------------------+
| Grants for david@%                |
+-----------------------------------+
| GRANT USAGE ON *.* TO 'david'@'%' |
+-----------------------------------+
1 row in set (0.00 sec)
  1. 给用户授权

(1) 添加权限

(root@localhost)[performance_schema]> grant select,insert,update,delete on test.* to 'david'@'%';
Query OK, 0 rows affected (0.00 sec)

给用户 david 授予test库的增删改查权限


(root@localhost)[performance_schema]> show grants for 'david'@'%';
+-----------------------------------------------------------------+
| Grants for david@%                                              |
+-----------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'david'@'%'                               |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `test`.* TO 'david'@'%' |
+-----------------------------------------------------------------+
2 rows in set (0.00 sec)

用户 david 不仅具有 USAGE 连接权限,并且具有 test库的增删改查权限

(2) 在已有权限基础上,增加权限

(root@localhost)[performance_schema]> grant create,index on test.* to 'david'@'%';
Query OK, 0 rows affected (0.00 sec)
(root@localhost)[performance_schema]> show grants for 'david'@'%';
+--------------------------------------------------------------------------------+
| Grants for david@%                                                             |
+--------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'david'@'%'                                              |
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX ON `test`.* TO 'david'@'%' |
+--------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

(3) 授予用户权限,并且被授予用户可以将所拥有的权限授予其他用户 以上(1)(2)中授权的方式,david所拥有的权限是不可以授予其他用户

通过以下方式,david可将拥有的权限授予其他用户

(root@localhost)[performance_schema]> grant create,index on test.* to 'david'@'%' with grant option;
Query OK, 0 rows affected (0.00 sec)
  1. 删除权限
(root@localhost)[performance_schema]> revoke create,index on test.* from 'david'@'%';
Query OK, 0 rows affected (0.01 sec)

(root@localhost)[performance_schema]> show grants for 'david'@'%';
+-----------------------------------------------------------------+
| Grants for david@%                                              |
+-----------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'david'@'%'                               |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `test`.* TO 'david'@'%' |
+-----------------------------------------------------------------+
2 rows in set (0.00 sec)

  1. 创建用户后,修改用户密码
(root@localhost)[performance_schema]> alter user 'david'@'%' identified by 'david0';
Query OK, 0 rows affected (0.00 sec)
  1. 创建的用户存放在何处?

存在于 mysql 数据库下的 user 表中,密码采用了password()函数进行了加密

全部评论

相关推荐

双尔:反手回一个很抱歉,经过慎重考虑,您与我的预期暂不匹配,感谢您的投递
点赞 评论 收藏
分享
已经入职数字马力4个月了,忍不住想和大家聊聊最真实的感受!🔥1️⃣ 岗位偏见?作为蚂蚁的子公司,很多人会担心“内包”身份会不会有岗位偏见。就我这几个月的体验来说,数字马力一直在快速扩招,面试流程也越来越规范(尤其是校招环节)。至于偏见问题,真的看部门和leader,很幸运我遇到的师兄和主管都特别nice,团队氛围很融洽。2️⃣ 待遇怎么样?试用期工资不打折!这点我真的吹爆💥!每天六点下班还有餐补,公积金按全额8%交(感动哭)……不过养老金也是实打实的8%,到手稍微心疼一下下😂3️⃣ 技术栈跟得上吗?技术栈多到学不完……而且我们有权限访问蚂蚁的知识库,自学能力强+愿意钻研的话,成长速度真的飞快!(当然,像我这种偶尔偷懒的也在慢慢进步中😝)4️⃣ 面试流程?一般是三面:两轮技术面(可能有线上笔试)+ 一轮HR面(含背调)。整体节奏比较顺畅,反馈也及时。5️⃣ 未来发展怎么看?老实说,数字马力不算头部大厂,不能指望它给简历镀金,但也绝不是那种会“减分”的外包。我更愿意把它看作一个扎实的中厂跳板,适合积累实战经验。6️⃣ 怎么投递?通过数字马力gzh,今天刚放出一批新HC!如果你正在看机会,不妨试试数字马力~之前面挂过也没关系,不妨再战一次,机会说不定就来了!🤝✅ 我的专属内推码:NTA6Nvs,可以直接帮大家推进流程。📮 有任何关于公司、岗位、面试的问题,也欢迎留言,我会尽量回复~(小声说:大环境不易,希望大家都能找到心仪的工作,也欢迎来找我内推呀!)
数字马力公司福利 22人发布
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务