科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道远程安全使用MySQL GUI工具

远程安全使用MySQL GUI工具

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

MySQL作为数据库,简直就是易用的代名词,绝大多数数据库驱动的web应用程序都选择它做为自己的数据库。正因如此,MySQL被应用于很多WEB服务器上。

作者:佚名 来源:巧巧读书   2008年7月4日

关键字: MySQL 数据库安全

  • 评论
  • 分享微博
  • 分享邮件

  MySQL作为数据库,简直就是易用的代名词,绝大多数数据库驱动的web应用程序都选择它做为自己的数据库。正因如此,MySQL被应用于很多WEB服务器上。

  虽然说MySQL的命令行工具确实有用,但要它完成任务有时实在是在跟时间过不去,除非你对SQL语法已经通吃,熟到炉火纯青的地步。正是由于这个原因,像phpMyAdmin之类的工具已经变得如此流行。

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

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

  首先,必须要保证MySQL监听本地主机[2](默认情况下它只监听本地套接字上的连接),这可以通过告诉MySQL允许WEB连接并重新启动服务器来实现。MySQL应该配置成只监听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端口)。注意我们没有把被转发端口和本地机器上的本地接口进行绑定,而是指向了所有接口;这就是说我们可以连上me.domain.com的13306端口(假设me.domain.com是本地工作站的名字),而不是去连接本地主机上的13306端口(这很重要,因为这些GUI工具会试图使用一个套接字来连接本地主机,而这不是我们希望的。)现在你可以发起连接,方法是执行:

  $ ssh -f -N remotesql

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

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

  $ mysql -u root -p -h me.domain.com -P 13306

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章