当前位置: 首页 > news >正文

360个人网站建设上海品牌推广公司

360个人网站建设,上海品牌推广公司,saas是不是做网站,郑州网站建设十大公司在安装完成MySQL后#xff0c;我们通常添加拥有相应权限的普通用户用来访问数据库。在使用用户本地登录数据库的时候#xff0c;经常会出现怎么登录也无法登录的情况,但是从其他的mysql客户端却可以登录。[rootmysql01 ~]# mysql -userver -p123456ERROR 1045 (28000): Acces…在安装完成MySQL后我们通常添加拥有相应权限的普通用户用来访问数据库。在使用用户本地登录数据库的时候经常会出现怎么登录也无法登录的情况,但是从其他的mysql客户端却可以登录。[rootmysql01 ~]# mysql -userver -p123456ERROR 1045 (28000): Access denied for user serverlocalhost(using password: YES)本地登录失败[rootmysql02 ~]# mysql -h192.168.47.166 -userver -p123456Welcome to the MySQL monitor. Commands end with ;or \g.Your MySQL connection id is 7Server version: 5.5.36-log Source distribution远程登录成功一、登录后查看mysql.user表的情况image可以看到我的数据库中有server用户和匿名用户localhost;•server用户的密码是server•匿名用户的密码为空二、在本机用server用户登录发现不用密码可以登录[rootmysql01 ~]# mysql -userver -pEnter password:Welcome to the MySQL monitor. Commands end with ;or \g.Your MySQL connection id is 3Server version: 5.5.36-log Source distributionCopyright (c) 2000, 2014, Oracle and/or its affiliates. All rightsreserved.Oracle is a registered trademark of Oracle Corporation and/oritsaffiliates. Other names may be trademarks of their respectiveowners.Type help; or \h for help. Type \c to clear the currentinput statement.mysql SELECT USER(), CURRENT_USER();-------------------------------------------------| USER() | CURRENT_USER() |-------------------------------------------------| serverlocalhost |localhost |--------------------------------------------------1 row in set (0.00 sec)登录成功了使用USER()和CURRENT_USER()两个函数查看所使用的用户。•USER()函数返回你在客户端登陆时指定的用户名和主机名。•CURRENT_USER()函数返回的是MySQL使用授权表中的哪个用户来认证你的登录请求。这里发现我使用serverlocalhost这个账户登录数据库(因为在本地登陆时没指定主机默认是以localhost登录)但是数据库使用的是localhost这个账户来进行登录认证而localhost这个匿名用户是没有密码的因此我输入空密码登录成功了。但是登录后所对应的用户的匿名用户。一般在MySQL在安装完毕后我们使用mysql_install_db这个脚本生成授权表会默认创建localhost这个匿名用户。正是因为这个匿名用户影响了其他用户从本地登录的认证。那么MySQL是如何进行用户身份认证呢一、当用户从客户端请求登陆时MySQL将授权表中的条目与客户端所提供的条目进行比较包括用户的用户名密码和主机。授权表中的Host字段是可以使用通配符作为模式进行匹配的如test.example.com, %.example.com,%.com和%都可以匹配test.example.com这个主机。授权表中的User字段不允许使用模式匹配但是可以有一个空字符的用户名代表匿名用户并且空字符串可以匹配所有的用户名就像通配符一样。当user表中的Host和User有多个值可以匹配客户端提供的主机和用户名时MySQL将user表读入内存并且按照一定规则排序按照排序规则读取到的第一个匹配客户端用户名和主机名的条目对客户端进行身份验证。二、排序规则对于Host字段按照匹配的精确程度进行排序越精确的排序越前例如当匹配test.example.com这个主机时,%.example.com比%.com更精确而test.example.com比%.example.com更精确。对于User字段非空的字符串用户名比空字符串匹配的用户名排序更靠前。User和Host字段都有多个匹配值MySQL使用主机名排序最前的条目在主机名字段相同时再选取用户名排序更前的条目。因此如果User和Host字段都有多个匹配值主机名最精确匹配的条目被用户对用户进行认证。了解了这个认证流程就知道为什么server登录失败了。使用GaMe在本机登录数据时不指定-h参数默认为localhost主机登录而在MySQL中有两个匹配的条目server% 和 localhost匿名用户能够匹配的原因上面说过空字符串可以匹配所有的用户名就像通配符一样。根据MySQL认证时的排序规则第一个条目的用户名排序更前第二个条目的主机名更精确排序更前。而MySQL会优先使用主机名排序第一的条目进行身份认证因此localhost被用户对客户端进行认证。因此只有使用匿名用户的空密码才能登录进数据库。就会出现下面的情况了。解决的方法删除匿名用户(仅仅为了安全也有这个必要)为什么root用户不会受影响而只有普通用户不能从本地登录因为mysql_install_db脚本会在授权表中生成rootlocalhost这个账户。同样的使用root登录MySQL时rootlocalhost和localhost都能匹配登录的账户但是根据排序规则主机名相同而用户名非空字符串优先因此rootlocalhost这个条目的排序更靠前。使用root本地登录是不会被匿名用户遮盖。
http://www.yutouwan.com/news/227500/

相关文章:

  • 河南网站公司能浏览外国网页的浏览器
  • 网站运营工作流程黄冈网站建设优化排名
  • 企业网站的制作及维护怎么创建wordpress站点
  • 下载安装wordpress 主题热狗网站关键词优化
  • 网站建站流程做美食网站的需求
  • php网站开发项目怎么用php语言做网站
  • 西安有哪些家做网站的公司怎么选择赣州网站建设
  • 一个专门做字画的网站网站开发代码用什么软件
  • 取名网站怎么做wordpress 协同
  • 建设银行招标网站推广链接代点
  • 抚顺网站开发网易企业邮箱注册官网
  • 狮山网站设计周到的网站建设
  • 杭州外贸建站公司成品网站源码多少钱
  • 描述网站开发的过程外国人做外贸都会浏览哪些网站
  • 网站二级域名查询wordpress 手机端APP
  • 科技网站制作案例莱州网页
  • 福州外文网站建设网站开发的软件工程师叫什么
  • 做网站内容怎么做网站代码
  • 长沙网站大全免费推广网站教程
  • 企业邮箱怎么申请注册流程智能网站推广优化
  • 怎么做自助购物网站中国联通与腾讯设立合作
  • html个人网站完整代码网站后台管理系统模板
  • 简述网站的设计流程互联网推广电话销售话术
  • 网站建设首页突出什么网站维护费用计入什么科目
  • 如何粘贴网站统计代码郴州在哪里
  • 有哪些网站可以做图片打赏怎样建立自己的网站赚钱
  • 资料库网站应该怎么做wordpress怎么使用插件下载
  • 泉州网站建设哪里优惠合肥网站建站报广告代理
  • dede网站301怎么做腾讯建站模板
  • 手机网站开发流程图wordpress 30分钟过期