远程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访问,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
您还应该检查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上问这个问题。