远程Mysql访问

远程Mysql访问,mysql,Mysql,我无法连接远程LAN MYSQL。尝试执行以下命令时,会显示以下错误 $mysql-u root-h192.168.1.15-p mysql>将所有测试。*授予根目录'192.168.1.15',由标识; 错误2003 HY000:无法连接到'192.168.1.15'10060上的MySQL服务器 您还应该检查MySQL服务器是否已配置为接受远程TCP连接 在MySQL配置文件my.cnf中,您至少需要以下内容: port = 3306 # Port MySQ

我无法连接远程LAN MYSQL。尝试执行以下命令时,会显示以下错误

$mysql-u root-h192.168.1.15-p mysql>将所有测试。*授予根目录'192.168.1.15',由标识; 错误2003 HY000:无法连接到'192.168.1.15'10060上的MySQL服务器


您还应该检查MySQL服务器是否已配置为接受远程TCP连接

在MySQL配置文件my.cnf中,您至少需要以下内容:

port         = 3306          # Port MySQL listens on
bind-address = 192.168.1.15  # IP address of your server
# skip-networking            # This should be commented out to enable networking
某些配置中的默认值是绑定地址为127.0.0.1,或者完全跳过网络,这意味着只能进行本地或unix套接字连接。这是出于安全考虑

您还可以将绑定地址配置为0.0.0.0,这意味着它将绑定服务器上的所有IP地址


最后,检查防火墙配置以允许端口3306。

还应检查MySQL服务器是否已配置为接受远程TCP连接

在MySQL配置文件my.cnf中,您至少需要以下内容:

port         = 3306          # Port MySQL listens on
bind-address = 192.168.1.15  # IP address of your server
# skip-networking            # This should be commented out to enable networking
某些配置中的默认值是绑定地址为127.0.0.1,或者完全跳过网络,这意味着只能进行本地或unix套接字连接。这是出于安全考虑

您还可以将绑定地址配置为0.0.0.0,这意味着它将绑定服务器上的所有IP地址


最后,检查防火墙配置以允许端口3306。

在文件/etc/mysql/my.cnf中注释下面的行

# bind-address = 127.0.0.1
并向mysql服务器上的loginmaybe root添加anyhost权限

困难的方法:您需要在mysql.host表中插入

简单方法:使用->用户管理->选择用户->鼠标右键单击添加主机->选择任意主机

最后重新启动服务器:

/etc/init.d/mysql restart
附言: 默认安装能力

mysql版本:mysql 5.1.57-1~dotdeb.0


Linux Debian 6压缩版

在文件/etc/mysql/my.cnf中注释下面的行

# bind-address = 127.0.0.1
并向mysql服务器上的loginmaybe root添加anyhost权限

困难的方法:您需要在mysql.host表中插入

简单方法:使用->用户管理->选择用户->鼠标右键单击添加主机->选择任意主机

最后重新启动服务器:

/etc/init.d/mysql restart
附言: 默认安装能力

mysql版本:mysql 5.1.57-1~dotdeb.0

Linux Debian 6压缩版

如果您拥有对服务器根目录的完全访问权限,则需要: 步骤1:编辑通常位于/etc中的my.cnf 查找以下行:[mysqld]并确保已注释行跳过网络,或删除行并添加以下行:

bind-address=YOUR-SERVER-IP
例如,如果您的MySQL服务器IP为66.166.170.28,则整个块应如下所示:

[mysqld]
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/English
bind-address    = 66.166.170.28
# skip-networking
.......
在哪里

绑定地址:要绑定到的IP地址。 跳过网络:根本不监听TCP/IP连接。与mysqld的所有交互都必须通过Unix套接字进行。强烈建议仅允许本地请求的系统使用此选项。由于您需要允许远程连接,因此应将该行从my.cnf中删除或置于注释状态。 步骤2:授予对所有主机的访问权限 使用以下命令启动MySQL监视器:MySQL或/usr/local/MySQL/bin/MySQL。您的shell提示符现在应该如下所示:mysql>。运行以下命令:

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY "PASSWORD";
FLUSH PRIVILEGES;
其中:

用户名是使用php脚本连接时使用的用户名。 密码是连接时使用的密码。 现在必须刷新MySQL的权限。运行以下命令:

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY "PASSWORD";
FLUSH PRIVILEGES;
运行此命令以退出MySQL:

exit;
步骤3:重新启动mysql deamon 或

取决于您的服务器当前运行的linux发行版。

如果您拥有对服务器根目录的完全访问权限,则需要: 步骤1:编辑通常位于/etc中的my.cnf 查找以下行:[mysqld]并确保已注释行跳过网络,或删除行并添加以下行:

bind-address=YOUR-SERVER-IP
例如,如果您的MySQL服务器IP为66.166.170.28,则整个块应如下所示:

[mysqld]
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/English
bind-address    = 66.166.170.28
# skip-networking
.......
在哪里

绑定地址:要绑定到的IP地址。 跳过网络:根本不监听TCP/IP连接。与mysqld的所有交互都必须通过Unix套接字进行。强烈建议仅允许本地请求的系统使用此选项。由于您需要允许远程连接,因此应将该行从my.cnf中删除或置于注释状态。 步骤2:授予对所有主机的访问权限 使用以下命令启动MySQL监视器:MySQL或/usr/local/MySQL/bin/MySQL。您的shell提示符现在应该如下所示:mysql>。运行以下命令:

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY "PASSWORD";
FLUSH PRIVILEGES;
其中:

用户名是使用php脚本连接时使用的用户名。 密码是连接时使用的密码。 现在必须刷新MySQL的权限。运行以下命令:

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY "PASSWORD";
FLUSH PRIVILEGES;
运行此命令以退出MySQL:

exit;
步骤3:重新启动mysql deamon 或


取决于您的服务器当前运行的linux发行版。

如上所述,需要消除my.cnf中的跳过网络

但是,在某些配置上,这是 over ridden by SKIP=-跳过启动文件中的网络,如rc.mysqld。所以把它也去掉

hosts.allow允许一台机器在任何情况下与另一台机器对话吗


请让我们不要忘记实际情况。

如上所述,需要消除my.cnf中的跳过网络

但是,在某些配置中,这被启动文件(如rc.mysqld)中的SKIP=-SKIP网络覆盖。所以把它也去掉

hosts.allow允许一台机器在任何情况下与另一台机器对话吗


让我们不要忘记实际情况。

我只是想在这里提出另一个建议


一些用于Mac和Windows的MySQL GUI工具允许通过MySQL连接。这意味着您不必授予额外的特权。我发现这是远程访问我所管理的MySQL数据库的最快方法。

我只是想在这里提出另一个建议


一些用于Mac和Windows的MySQL GUI工具允许通过MySQL连接。这意味着您不必授予额外的特权。我发现这是远程访问我管理的MySQL数据库的最快方式。

我真的不喜欢技术人员…我真的不喜欢技术人员…我完全同意。我只是用OP的例子,我没有设置密码。这是防火墙的问题,现在只有我解决了这个问题。谢谢回复帮助我。好的,非常感谢朋友。您能帮助我如何在LAN中接受/拒绝传入和传出TCP/IP连接您可能应该在serverfault.com上问这个问题。我完全同意。我只是用OP的例子,我没有设置密码。这是防火墙的问题,现在只有我解决了这个问题。谢谢回复帮助我。好的,非常感谢朋友。您能帮助我如何在LAN中接受/拒绝传入和传出TCP/IP连接您可能应该在serverfault.com上问这个问题。