2012年8月18日星期六

MySQL的:远程访问当它不应该




<meta charset="utf-8">
在连接到远程本地MySQL服务器,如果它不具有访问。
当发生这种情况,然后haebomyeo检查测试的内容,如果你能看到的问题。


当远程访问,您可能会遇到如下错误消息。

错误2003(HY000):无法连接到MySQL服务器上的'......“
ERROR 1045(28000):拒绝访问用户'用户'@'主机'(使用密码:......)

如果连接失败,错误2003,(1)开始检查清单的底部。
如果验证失败,错误1045(7)下列清单开始。



*配置文件(的my.cnf / my.ini文件)是比执行是非常高的优先选项,选择运行配置文件,重要的是要密切关注。

(1)跳网络
MySQL服务器在运行时 - skip-networking选项,或者在配置文件中跳过网络,服务器只允许本地连接的Unix套接字。设置被释放。


(2)绑定地址
绑定地址值在配置文件中或在“运行”选项 - 捆绑地址127.0.0.1或者被禁用,确保值。这,听取和相关TCP / IP套接字的任何IP绑定,以确定是否。 127.0.0.1不允许外部访问的手段。该系统被分配一个值,或指定一个特定的IP,0.0.0.0指定为系统进行修改,以采取的所有IP地址的优势。如果你有一个以上的IP地址分配,这是共同指定适当的值。


(3)端口
的TCP / IP套接字用于绑定,来确定端口号。默认值是3306,出于安全原因,或一台服务器上运行多个MySQL服务器,所以如果你改变这个值检查。运行配置文件选项 - 端口= 3306 = 3306端口被指定为。


(4)听检查
壳> NETSTAT-NA | grep的3306
通过上面的命令,确保该端口正在听。不能得到解决,直到1-3再次检查。务必更改设置,你必须重新启动服务器后。 (在其他情况下,端口设置的值,输入端口号)。


(5)TCP / IP套接字连接尝试
mysql客户端运行在本地文件,您的访问通常通过mysql.sock的是共同的。
检查所有上述选项后,本地TCP / IP套接字连接来尝试看看。
壳> MYSQL-H 127.0.0.1 - P 3306-U根-P

虽然相同的名称localhost和127.0.0.1为localhost,如果你指定一个Unix套接字连接尝试。
在本地的TCP / IP连接失败,再次检查1-4。


(6)防火墙
在本地TCP / IP套接字连接是好的,如果Telnet连接从远程位置不应该看到一个尝试。
壳>的telnet-H的xxx.xxx.xxx.xxx - P 3306

通常是1-5,Telnet连接,不可能在大多数情况下,它是在防火墙封锁。防火墙尝试连接到本地主机的防火墙,连接目标服务器的防火墙,路由,防火墙内被放置在其路径可以。
- 本地防火墙:某些传出的数据包,以确定是否此限制。
- 服务器防火墙:MySQL服务器使用的端口,检查防火墙选项。


(7)检查用户/主机组合
可用于连接用户名和主机地址注册在MySQL数据库中正确检查。
MySQL的使用mysql;
MySQL的> SELECT用户,从用户的主机其中user ='用户名';

主机被指定为如下。
- %:允许从任何主机连接
- XXX.XXX.XXX.XXX:允​​许来自特定主机的访问
- XXX.XXX%,如:允许从一个特定的频段访问
- 特定的名称:允许来自特定主机的访问(跳过名称解析,如果您使用的是不能使用)

MySQL的喜欢使用的语法,可以指定一个特定的频段,整个主机或%。
例如)192.168.0.0/16 => 192.168%


(8)确认密码
用于连接到/主机/密码组合的用户是正确的。
MySQL的> SELECT COUNT(*)从用户的WHERE用户='用户名'和主机='主机'和密码=密码(“密码”)

对于有多个记录的用户名,最“具体”的第一条记录,将使用指定的值。
(参见:http://dev.mysql.com/doc/refman/5.0/en/connection-access.html)

例如,用户user1 @%时有记录user1@192.168.0.1,192.168.0.1在user1的用户尝试连接时,用户user1 @%值的价值,没有使用user1@192.168.0.1主机执行身份验证,从而使多个记录设置权限的用户名和密码,如果需要更多的关注。


FLUSH PRIVILEGES(9)
涉及用户表和权限添加以下语法表/值必须改变,如果服务器是使用新的验证数据。
MySQL的> FLUSH PRIVILEGES;


(10)跳跃名的决心
未指定的skip-name-resolve选项,MySQL服务器,远程访问,通过DNS主机名解析IP地址的整个过程。域名解析系统的DNS服务器的安装,如果你不正确设置,可能会造成连接的延迟,如果服务器被安装在内部网络上,使这个值是常见的。

它试图访问通过DNS名称而不是IP地址得到主机的IP与用户表看到的名字,所以它可以指定,以避免混乱结束。


(11)其他特殊情况
从MySQL 4.1的新密码,默认情况下,我使用一个哈希函数,传统的客户端前4.1 / ODBC的连接器使用它们,如果你看到下面的服务器的安全认证,旧密码选项的链接,适当调整,应使用。
http://dev.mysql.com/doc/refman/5.0/en/password-hashing.html

1-10的课程,尽管所有geochyeoteumedo,1045,如果发生错误,下面的命令通过用户的密码,指定旧的哈希值,然后,做一个连接测试。虽然少见,MySQL的5相对于旧的密码哈希的mysql客户端版本,如果您使用。
MySQL的>'用户'@'主机'设置密码= OLD_PASSWORD('密码');

没有评论:

发表评论