以前是使用 localhost +用户名 +密码来访问MYSQL,这样的话网络截取数据还是安全
现在想远程访问我的MYSQL数据库,这样的话,传输的用户名和密码都是明文的,可以被截取,有什么办法可以防止吗?
网上有说使用SSL,请问有达人在WINDOWS下面使用过的吗,怎么配置呢?谢谢

解决方案 »

  1.   

    navicat连接属性里面有ssl这个标签
      

  2.   

    mysql -uusername -ppassword -h192.168.0.110传输的用户名和密码都是明文的,可以被截取
    截取到的是加密后的,不会是明文。
      

  3.   

    5.8.7.7. 用SSH以远程方式从Windows连接到MySQL
    本节说明如何用SSH安全连接到远程MySQL服务器(David Carlson <dcarlson@mplcomm。com>):1.    在Windows主机上安装SSH客户端。作为用户,我所发现的最好的非免费客户端来自http://www.vandyke.com/的SecureCRT。另一个选则是http://www.f-secure.com/的f-secure。你还可以从http://directory.google.com/Top/Computers/Security/Products_and_Tools/Cryptography/SSH/Clients/Windows/ 的Google找到一些免费客户端。
    2.    启动Windows SSH客户端。设置Host_Name = yourmysqlserver_URL_or_IP。设置userid=your_userid以便登录服务器。此userid值可以与你的MySQL账户的用户名不相同。
    3.    设置端口映射。可以进行远程映射(设置local_port: 3306, remote_host: yourmysqlservername_or_ip, remote_port: 3306)或本地映射(设置port: 3306, host: localhost, remote port: 3306)。
    4.    进行保存,否则下次需要重设。
    5.    刚创建的SSH会话登录服务器。
    6.    在Windows机器上启动相应ODBC应用程序(例如Access)。
    7.    在Windows中创建一个新的文件按照常用方法通过ODBC驱动程序链接MySQL,不同的是要为MySQL服务器输入localhost,而不是yourmysqlservername。
    你应有使用SSH加密的ODBC连接到MySQL。
      

  4.   

    好的,这个东西我去看下你好,有个疑问,为什么是加密的呢?
    我的PHP配置比如如下
    $dbhost = '11.11.11.11:7777'; // 数据库服务器
    $dbuser = 'root'; // 数据库用户名
    $dbpw = 'admin'; // 数据库密码
    传输的应该是root和admin吧?而不会是admin的加密吧,对不对
      

  5.   

    SSH,好的,我去了解下
    我说明下我的问题,也许我表达有误,不好意思A服务器存放的是MYSQL数据库,我想在B服务器存放PHP,在B里面访问A的数据库
    以后的数据库都存放在A服务器,在C服务器或D服务器来访问A服务器的数据库。
      

  6.   

    恩,QQ登录的是在输入密码后,加密密码再传输
    在PHP链接MYSQL,是使用明文,在传输过程中应该没有被加密,到密码校对的时候,再加密与USER表里的密码进行匹配看是否一样,不知道是不是这样,请指教!
      

  7.   

    那只能使用SSH了。直接在会话层进行加密。