zoukankan      html  css  js  c++  java
  • [转]mysql为什么默认有那么多root用户,还有用户名为空的用户?

    https://segmentfault.com/q/1010000000388864
    

    elect Host,User from mysql.user; 
    
     +-----------+------+
    | Host      | User |
    +-----------+------+
    | 127.0.0.1 | root |
    | ::1       | root |
    | ArchLinux |      |
    | ArchLinux | root |
    | localhost |      |
    | localhost | root |
    +-----------+------+
    
    

    如上, 其中ArchLinux是我的主机名。
    1. ::1 表示什么呢,任意IP吗?
    2. 用户名为空是表示匿名用户吗?
    3. 从 localhost 或是从 127.0.0.1 或是从 ArchLinux 发起的连接不都是指我自己的电脑吗?为什么要区分开?
    4. 如果局域网内另有一台主机名为 ArchLinux 的电脑,它是不是就可以匿名或是用 root 登陆我的mysql服务器?
    5. 我用 mysql -h 127.0.0.1 -u root -p 或是 mysql -h ArchLinux -u root -p 都提示无法连接到服务器,只有用 mysql -h localhost -u root -p 才可以登陆,为什么呢?


    1、::1应该是表示本地的v6地址
    2、没有用户名的话,应该是匿名用户了
    3、对于mysql来讲,127.0.0.1和localhost应该不一样的;举个例子,你在linux的/etc/hosts文件中将localhost映射127.0.0.1 这一行注释,那么linux主机已经无法ping通localhost了,但是你用mysql登录命令,指定-h localhost你依然能登录成功
    4、局域网内的 ArchLinux主机,我觉得应该登录不了,因为主机名在网络中最终还是要映射成IP地址的。如果局域网内的那台主机的IP地址没有登录权限,那肯定是登录不了的;
    5、这个问题,我也无法回答,mysql -h localhost -u root -p这样个命令,我试了一下,也不能登录,奇怪!


  • 相关阅读:
    Python解析库lxml与xpath用法总结
    安装docker时,遇到Loaded plugins...怎么办
    【AcWing】第6场周赛 B题 3734. 求和 (思维)
    CF上部分树形DP练习题
    Codeforces Round #481 (Div. 3) 经典几道思维题
    KB专题:区间DP专辑
    ZOJ 3537 Cake (凸包 + 区间DP && 最优三角形剖分)
    AtCoder Beginner Contest 171 AK!
    【算法学习笔记】分段打表
    [apue] 多进程管道读写的一些疑问
  • 原文地址:https://www.cnblogs.com/linewman/p/9918752.html
Copyright © 2011-2022 走看看