首页 文章

无法设置远程连接MYSQL Ubuntu

提问于
浏览
4

我无法打开我的MYSQL服务器到所有远程连接 . 我跟随了很多在线指南,看起来有些不对劲 . 也许SO可以提供指导?我的服务器详细信息如下:

  • Ubuntu 12.04服务器,

  • MYSQL Ver 14.14使用readline 6.2分发5.5.34,用于debian-linux-gnu(x86_64)

/etc/mysql/my.cnf: 其他东西,但重要的是绑定地址......

bind-address = 0.0.0.0

my.conf具有以下权限: -rw-r--r-- 1 root root 3516 Jan 31 17:12 my.cnf

服务器未被阻止,因为: telnet myDomain.com 3306 提示我的本机mysql密码 .

MYSQL Queries

通过'myPASSWORD'创建用户'myUser'@'%'; GRANT INSERT ON db.table_v TO'myUser'@'%'IDENTIFIED BY'myPASSWORD'; FLUSH特权;

Permissions from show grants for 'myUser'@'%';

授予使用权 . ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

I also restarted my server

PROBLEM:

mysql -h myDomain.com -u myUser -p输入密码:ERROR 1045(28000):拒绝用户'myDomain'@'*** MYIPADDRESS ***'(使用密码:YES)

我也无法在本地登录主机不是特定本地的任何用户,例如'%'或我的家庭IP .

5 回答

  • 0

    如果不是拼写错误,这很有意思:

    Access denied for user 'myDomain'
    

    您是否尝试将您的域名用作用户名?应该有myUser而不是myDomain因为你只给myUser提供远程权限 .

    也在:

    mysql -h myDomain.com -u myUser -p
    

    -h表示mysql服务器所在的主机,而不是用户的当前主机 . 所以当你在本地尝试连接数据库时,尝试“localhost”以外的其他任何东西肯定会出错,因为你试图连接一个你不想要的数据库 . 假设您在本地连接到mysql服务器并输入上面的行;此命令将尝试将myDomain.com上的服务器与您提供的用户myUser和密码连接 . 如果您定义的权限是您运行此命令的位置,那么您将获得访问被拒绝错误,因为您正在连接到其他服务器 .

  • 1

    我认为问题是指定bind-address属性的.cnf文件的位置 . 大多数指南和教程都说这个文件是/etc/mysql/my.cnf,但经过多次尝试,我意识到正确的位置是在mysqld profile下的mysqld.cnf文件中 .

    尝试在那里包含bind-address属性 . 要检查这是否有效,请键入“netstat -lt”并查找mysql进程的本地地址是否为0.0.0.0:3306 .

    然后再次检查连接

  • 0

    您还需要创建本地用户帐户

    CREATE USER 'myUser'@'localhost' IDENTIFIED BY 'myPASSWORD';
    

    MySQL Manual | Adding users

    don't 建议使用这种不安全的陈述

    GRANT ALL ON *.* TO 'myuser'@'%';
    

    它创建超级用户,例如为所有操作授予所有数据库的权限 .

  • 1

    请问您为什么需要直接访问MySQL? MySQL应该只听取localhost,但你可以使用SSH轻松访问 .

    如果使用Windows,Putty允许您与主机 Build SSH连接,然后将3306 localhost流量转发到您自己的计算机 .

    更好的是,像SQLyog这样的程序允许SSH隧道连接到MySQL,这是我通常连接的方式(除非服务器在VPN上) .

    您是使用此服务器进行开发还是具有公共IP地址?

  • 0

    请发布结果

    nmap ***MYIPADDRESS***
    

    nmap localhost
    

    nmap MyDomain
    

    如果你没有从apt安装它,那么我可以帮你更多 .

相关问题