WEB开发网
开发学院数据库MySQL 远程安全使用MySQL GUI工具 阅读

远程安全使用MySQL GUI工具

 2007-11-11 13:22:39 来源:WEB开发网   
核心提示: MySQL(和PHP搭配之最佳组合)作为数据库,简直就是易用的代名词,远程安全使用MySQL GUI工具,绝大多数数据库驱动的web应用程序都选择它做为自己的数据库,正因如此,你将能够使用本地WEB上的任何一个系统,跨越Internet而又毫无风险的连接远程数据库(除非本地机器上防火墙规则阻止了它),MySQL(和

   MySQL(和PHP搭配之最佳组合)作为数据库,简直就是易用的代名词,绝大多数数据库驱动的web应用程序都选择它做为自己的数据库。正因如此,MySQL(和PHP搭配之最佳组合)被应用于很多WEB服务器上。虽然说MySQL(和PHP搭配之最佳组合)的命令行工具确实有用,但要它完成任务有时实在是在跟时间过不去,除非你对SQL语法已经通吃,熟到炉火纯青的地步。正是由于这个原因,像phpMyAdmin之类的工具已经变得如此流行。

   MySQL(和PHP搭配之最佳组合)开发者们已经开始使用他们自己的GUI工具,它们能够用来和本地或远程的MySQL(和PHP搭配之最佳组合)数据库进行连接。这些工具包括MySQL(和PHP搭配之最佳组合) Administrator、MySQL(和PHP搭配之最佳组合) Query Browser、以及MySQL(和PHP搭配之最佳组合) Workbench。它们都是不错的图形界面的工具,简化了对MySQL(和PHP搭配之最佳组合)数据库的创建和操作。

   使用这些工具操作远程数据库的问题是,它们通常要求你使MySQL(和PHP搭配之最佳组合)对WEB接口进行监听;而大多数MySQL(和PHP搭配之最佳组合)管理员只会选择对本地主机或某个套接字开启MySQL(和PHP搭配之最佳组合)监听,而不会允许远程连接。这是很好的安全习惯;可是,它让你不花出一点点努力就别想舒舒服服地远程使用这些GUI工具。这里使用ssh隧道[2](tunnel)进行连接效果极好。它不仅允许高强度验证和加密,而且对于MySQL(和PHP搭配之最佳组合)只监听本地连接的设定也毫不妥协。

   首先,必须要保证MySQL(和PHP搭配之最佳组合)监听本地主机[2](默认情况下它只监听本地套接字上的连接),这可以通过告诉MySQL(和PHP搭配之最佳组合)允许WEB连接并重新启动服务器来实现。MySQL(和PHP搭配之最佳组合)应该配置成只监听loopback接口,或者本地接口,或者WEB接口。

   接下来,编辑你希望用来发起连接的主机上的~/.ssh/config文件,并插入如下内容:

   Host remotesql
   ?Hostname webserver.domain.com
   ?User joe
   ?LocalForward *:13306 localhost:3306

   这会以用户joe连接webserver.domain.com,并且把本地系统上的13306端口转发(forward)到webserver.domain.com的3306端口(这是标准MySQL(和PHP搭配之最佳组合)端口)。注意我们没有把被转发端口和本地机器上的本地接口进行绑定,而是指向了所有接口;这就是说我们可以连上me.domain.com的13306端口(假设me.domain.com是本地工作站的名字),而不是去连接本地主机上的13306端口(这很重要,因为这些GUI工具会试图使用一个套接字来连接本地主机,而这不是我们希望的。)现在你可以发起连接,方法是执行:

   $ ssh -f -N remotesql

   最后,激活MySQL(和PHP搭配之最佳组合)的管理员账户,并且通过你的信任证书,让它连接me.domain.com的13306端口(而不管它是用户账户还是根账户)。为了正常连接,你可能不得不给user@localhost.localdomain许可。

   这样做之后,你将能够使用本地WEB上的任何一个系统,跨越Internet而又毫无风险的连接远程数据库(除非本地机器上防火墙规则阻止了它),这样之后,你仍然可以使用本地的MySQL(和PHP搭配之最佳组合)命令行工具操作远程数据库:

   $ MySQL(和PHP搭配之最佳组合) -u root -p -h me.domain.com -P 13306

Tags:远程 安全 使用

编辑录入:coldstar [复制链接] [打 印]
赞助商链接