V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
skyboy
V2EX  ›  问与答

mysql5.7 怎么开启远程访问

  •  
  •   skyboy · 2016-12-09 14:25:45 +08:00 · 2956 次点击
    这是一个创建于 2939 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 ubuntu16 上用 mysql5.7,按网上的做法,不行啊。 mysql -uroot -p123

    GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION; FLUSH PRIVILEGES;

    sudo /etc/mysql/my.cnf;

    注释掉这行 #bind-address = 127.0.0.1 ,但是我打开 my.cnf 根本没有这行内容 。但是我也加上了这行#注释的内容啊。

    flush privileges;

    service mysql restart;

    service iptables stop; //ubuntu 上根本提示说找不到 iptables 服务

    mysql -h xxx.110.87.xx -u root -p123 出错: Can't connect to MySQL server on xxx.110.87.xx;

    8 条回复    2016-12-09 15:25:10 +08:00
    kxjhlele
        1
    kxjhlele  
       2016-12-09 14:38:42 +08:00
    root 账号有限制吧,只能本地登录,估计设置 root 可以用 ::1 登录就好了
    shiji
        2
    shiji  
       2016-12-09 14:39:40 +08:00 via Android
    找教程复制粘贴修改执行不是一条长久之计。。。

    你要告诉大家是按照哪个教程安装的?安装的方法多种多样啊。

    sudo netstat -atnp 执行一下,看看 MySQL 目前监听的 socket 地址是什么

    另外我记得 Ubuntu 默认的防火墙是 ufw ,(实质上也是基于 iptables 的)

    sudo ufw status 查看当前规则
    skyboy
        3
    skyboy  
    OP
       2016-12-09 14:59:25 +08:00
    @shiji ufw 我给他关掉了, sudo ufw disable 为啥还不行。
    skyboy
        4
    skyboy  
    OP
       2016-12-09 14:59:53 +08:00
    @kxjhlele 为啥网上的教程上都是改 root 这个账号。
    shiji
        5
    shiji  
       2016-12-09 15:12:39 +08:00
    @kxjhlele root 没有限制
    shiny
        6
    shiny  
       2016-12-09 15:22:33 +08:00 via iPhone
    看看是不是只监听到 127.0.0.1 了
    shiji
        7
    shiji  
       2016-12-09 15:23:16 +08:00
    @skyboy 你好歹把信息提供全面了再问为啥啊。执行 sudo netstat -atnp | grep 3306 看看有没有结果,如果有, IP 是 0.0.0.0 还是 127.0.0.1 还是别的?

    root 账号没有限制,即使限制了本地登陆,结果应该是 ERROR 1045 (28000): Access denied for user... 这样的,
    你出现的这个错误是根本连接不上数据库,更何况验证密码 /权限.

    另外 root 账号不建议开启远程,如果是用于管理,最好配置数据库的 SSL 证书加密通信。如果是用于让别的服务器访问你这台机器的数据库,不要用 root ,要遵循一个应用,一个用户,一个数据库。
    cxshun
        8
    cxshun  
       2016-12-09 15:25:10 +08:00
    #bind-address = 127.0.0.1 这行是要去掉#注释的啊,并且把 127.0.0.1 改为 0.0.0.0 表示允许所有 IP 都可以访问,否则只有本地能访问。

    但建议 root 不要开放,可以另外开一个用户去连接。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5466 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 07:51 · PVG 15:51 · LAX 23:51 · JFK 02:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.