• mysql5.7 设置远程访问


    mysql5.7 设置远程访问

     

    mysql5.7设置远程访问不是和网上说的一样建个用户赋个权限就可以访问的。比如下边这个就是建用户赋权限,可能在之前的版本可以,但是我在我的mysql上一直不行。为此烦了好久!!!项目都耽误了!!

    一、原来设置远程访问的方式

    Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问 

    在MySQL Server端: 

    执行mysql 命令进入mysql 命令模式, 

    Sql代码 
    1. mysql> use mysql;   
    2. mysql> GRANT ALL ON *.* TO user@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;   

    #这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户  和密码(admin)来访问这个MySQL Server   

    #必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆  

    远程访问:

    1. mysql -h172.21.5.29 -uuser -p123456  即可了
    2. //172.21.5.29就是MySQL Server的IP地址,user就是刚才在 172.21.5.29上设置的远程访问帐户

      另外你也可以在一个机器上模拟远程访问,就是多开几个终端,方便测试是否可以远程访问。

     
    我发现一个问题, 如果上面的命令你执行完毕, 你在 本地就是localhost , 执行 :
    1. mysql -hlocalhost -uadmin -padmin   

    结果是失败的。 
    原来 上面的 % 竟然不包括localhost 

    所以你还必须加上这样的 命令:
    mysql>GRANT ALL ON *.* TO admin@'localhost'  IDENTIFIED BY 'admin' WITH GRANT OPTION; 

    二、mysql5.7中设置远程访问

    我在按照上边的方法设置后,发现用mysql -h 并不能远程访问,修改了/etc/my.cnf配置文件把

    #skip-networking 注释掉
    加上bind-address=0.0.0.0

    然而并没有卵用!

    看得我都快背下来了!

    后来我直接去看他的配置文件:在/etc/mysql文件夹下

    点开图中的my.cnf:  有下面一些话:

    #
    # * IMPORTANT: Additional settings that can override those from this file!

    # 其他地方的配置可以覆盖此文件的配置
    # The files must end with '.cnf', otherwise they'll be ignored.  
    #

    !includedir /etc/mysql/conf.d/
    !includedir /etc/mysql/mysql.conf.d/

    文件最后的两个路径我很好奇,就去看了下:conf.d/:

    里边一个配置文件,打开发现,就一个[mysql],然后啥都没有。

    再看另一个:

    也有一个配置文件,打开发现有惊喜,就在这里边有一句话:

    瞬间有种见到天日的感觉!!!看它的注释就明白,只能本地连接,问题出在这!!

    把bind-address注释掉:#bind-address=...

    重启mysql服务,远程链接:

    1. mysql -h172.17.0.1 -uuser -p

    //我的用户名是:user

    终于进去了,哈哈!!

    为了这个折腾了两天!!!我是服气mysql的!!

  • 相关阅读:
    理解事件驱动select,poll,epoll三种模型
    谈谈对线程与进程的理解
    5-3.首行缩进
    5-2.行高
    5-1.字间距
    4-6.字体样式重置
    4-5.字体风格
    4-4.字体粗细
    4-3.字体颜色设置
    4-2.字体设置
  • 原文地址:https://www.cnblogs.com/benpaodegegen/p/10646711.html
Copyright © 2020-2023  润新知