zoukankan      html  css  js  c++  java
  • 烂泥:mysql修改本地主机连接

    本文由秀依林枫提供友情赞助,首发于烂泥行天下

    在mysql数据库安装完毕后,为了能远程连接管理mysql数据库。我们一般是在mysql服务器上通过update命令来更新user表中的host记录的。如下:

    mysql -uroot -p123456

    update user set host='%' where user='root';

    FLUSH PRIVILEGES;

    /etc/init.d/mysqld restart

    clip_image001

    这样操作完毕之后,发现现在远程主机是可以连接mysql数据库了。但是在mysql数据库服务器上却不能连接本地的mysql数据库,如下:

    clip_image002

    clip_image003

    为什么会出现这个情况呢?

    是因为在mysql数据库的user的host字段中,已经明确拒绝本地登录。我们现在需要修改这个字段,把该字段中的不需要的相关记录全部删除。

    先停止数据库,然后使用mysqld_safe –skip-grant-tables &方式启动数据库。这种方式启动数据库,跳过了mysql数据库的安全验证。如下:

    /etc/init.d/mysqld stop

    mysqld_safe --skip-grant-tables &

    mysql -uroot mysql

    use mysql;

    select host,user from user;

    clip_image004

    通过上图,我们可以看到目前localhost没有对应的用户。我们现在需要做的就是把,改记录中不需要的全部删除。只留下host为%的记录。

    删除记录,需要使用以下sql语句:

    delete from user where host='127.0.0.1';

    delete from user where host='ilanni';

    delete from user where host='::1';

    delete from user where host='localhost';

    clip_image005

    以上sql语句操作完毕后,我们再次重启mysql数据库。然后本地连接数据库看下,如下:

    clip_image006

    通过上图,我们可以很明显的看到。mysql数据库服务器已经可以连接mysql数据库了。

    以上是比较麻烦的做法,最简单的做法是在远程的mysql管理软件上直接删除。因为现在远程机器是可以登陆到mysql数据库上的,再次我使用的Navicat Premium这款软件。如下:

    clip_image007

    clip_image008

  • 相关阅读:
    屏幕截图 从安卓模拟器中识别出屏幕文字
    srcset
    Bitwise and Bit Shift Operators 位运算 取反 补码
    text recognizer (OCR) Engine 光学字符识别
    删除目录下 某类名字的文件
    appmaptile
    登录框
    将代码设置的剪切板内容通过输入法软件粘贴入app搜索框
    面向问题的高级语言
    使用心理视觉来进行图像处理
  • 原文地址:https://www.cnblogs.com/ilanni/p/4075597.html
Copyright © 2011-2022 走看看