Home  >  Article  >  Database  >  精细讲解远程安全如何使用MySQL GUI工具_MySQL

精细讲解远程安全如何使用MySQL GUI工具_MySQL

WBOY
WBOYOriginal
2016-06-01 14:04:23805browse

mysqlGUImysql管理工具

 

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文件,并插入如下内容:

 

<ccid_code></ccid_code>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工具会试图使用一个套接字来连接本地主机,而这不是我们希望的。)现在你可以发起连接,方法是执行:

 

<ccid_code></ccid_code>$ ssh -f -N remotesql

 

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

 

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

 

 

<ccid_code></ccid_code>$ mysql -u root -p -h me.domain.com -P 13306
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn