网站开发的心得与体会塘厦最新消息
web/
2025/9/29 20:30:09/
文章来源:
网站开发的心得与体会,塘厦最新消息,中企动力做的网站怎么样,怎样修改网站首页头部笔者前几日在做数据库迁移的时候#xff0c;发现了一个挺有意思的小东西#xff1a;数据库访问限制(Host Match limit),简单地翻阅了下给官方资料#xff0c;发现这个东西应用场景其实非常广泛#xff0c;只是我们采用了其他可能没有原生数据库带的Access Limit 功能好地方…笔者前几日在做数据库迁移的时候发现了一个挺有意思的小东西数据库访问限制(Host Match limit),简单地翻阅了下给官方资料发现这个东西应用场景其实非常广泛只是我们采用了其他可能没有原生数据库带的Access Limit 功能好地方式特此摘记MySQL 官方文献传送门 戳The server checks credentials first, then account locking state. A failure for either step causes the server to deny access to you completely. Otherwise, the server accepts the connection, and then enters Stage 2 and waits for requests.上面那端话摘自文献第一端大意就是MySQL校验访问者身份会先从访问者的有效认证(credentials)开始这个有效认证实际上值得就是我们平时赋值一个新的Access User的登入名、密码以及访问时所用的主机名。OK上一张我们平时用的最多的可视化界面的图图中标识红色的部分也就是我们常用来设置某用户访问权限的地方其中笔者设置的是localhost即笔者这个Root用户访问的时候MySQL会除了将 MySQL.User表里的Username、Password与输入的进行比较外还会将在表中的Hostname与访问的Hostname进行比较倘若这三者中又一步失败了则MySQL都会拒绝访问(Deny access !)好那么问题来了如果我是想把这个用户做成开放性接口使用的用户那么我该怎么办其实细心点观察图上的文字提示你就会发现实际上想开放访问的Hostname你只需要将红色标识的输入框内的localhost(或者其它)改成 (空字符串)或是%即可。因为上述两种符号均表示为此用户登入不做Hostname约束的意思摘一段关于赋予用户权限的官方陈述The db table grants database-specific privileges. Values in the scope columns of this table can take the following forms:1. A blank User value matches the anonymous user. A nonblank value matches literally; there are no wildcards in user names.2. The wildcard characters % and _ can be used in the Host and Db columns. These have the same meaning as for pattern-matching operations performed with the LIKE operator. If you want to use either character literally when granting privileges, you must escape it with a backslash. For example, to include the underscore character (_) as part of a database name, specify it as \_ in the GRANT statement.3. A % or blank Host value means “any host.”4. A % or blank Db value means “any database.”同时你也可以为这个用户设置例如一小时内最大连接次数的之类的基本属性在MySQL.User表中遇到同名的用户System会采用第一个匹配成功的用户作为首选项(即它的权限和相关信息都是采用第一个用户了)。PS : 附上查找User表里用户的常用信息的语句mysql select user,host,authentication_string from mysql.user;以及赋值用户的官方传送门Grant Table 以及基本赋值命令GRANT ALL ON db1.* TO jeffreylocalhost;GRANT SELECT ON db2.invoice TO jeffreylocalhost;OK关于Access Control的初步了解就先记录到这
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84080.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!