您的当前位置:首页正文

如何安全的远程使用MySQLGUI工具_MySQL

2023-11-20 来源:爱上美食网

mysqlGUImysql管理工具

  MySQL是易于使用的数据库的同义词,大部分数据库驱动的网络应用都把MySQL做为首选数据库,所以MySQL在很多网络服务器上都有应用。尽管MySQL命令语句工具非常有用,但是如果你没有熟练的掌握SQL语法,工作起来就会耗费相当多的时间。于是 phpMyAdmin这样的工具应运而生。

  MySQL开发者们自行开发出了能够连接本地或者远程MySQL数据库的GUI工具。这些工具包括MySQL管理员(MySQL Administrator),MySQL Query浏览器(MySQL Query Browser)以及MySQL 工作台(MySQL Workbench)等,都是相当出色的能够轻松操作和创建MySQL数据库的图形化工具。

  使用这些工具操作远程数据库时有一个问题,它们经常要求MySQL 在网络界面进行响应;大部分MySQL管理员只允许MySQL对localhost或socket进行响应,而拒绝远程连接。这是一种非常有效的安全措施;但是在这种情况下,如果不施展一些手段就无法远程使用这些GUI工具。在这种情况下,使用ssh来暗中进行连接是一个非常不错的方法。因为这样做不仅能够进行很严格的认证和加密,同时还不会破坏只允许MySQL相应本地连接的规则。

  首先,要使MySQL只响应localhost(在默认情况下,MySQL只响应对连接本地socket的要求),需要调整设置让MySQL允许网络连接,然后重启服务器。MySQL应该只响应loopback上的连接,或者本地及网络界面上的连接。然后,编辑发出连接要求的主机上的 ~/.ssh/config文件,然后插入以下内容:

  Host remotesql

  ?Hostname webserver.domain.com

  ?User joe

  ?LocalForward *:13306 localhost:3306

  这样就会以用户joe的身份连接到webserver.domain.com,并将本地系统上13306端口推送到 webserver.domain.com上的3306端口(标准MySQL端口)。请注意,我们并没有将推送端口限制在本地设备的本地界面上,而是针对全部界面;也就是说我们能够连接到me.domain.com端口13306(假设me.domain.com是本地工作站的名称),除了连接本地主机端口13306(这点非常重要,因为GUI工具将会尝试通过socket连接localhost,而这是我们所不希望发生的)。现在可以执行以下命令来启动连接。

  $ ssh -f -N remotesql

  最后,启动MySQL管理器,让其使用你的信用状与13306端口上的me.domain.com进行连接。如果出现"访问被拒绝“的错误,请检查远程数据库上的许可信息。为了进行正确的连接,可能必须对user@localhost.localdomain进行许可。

  这样就可以实现通过本地网络上的任一系统(除非防火墙的规则禁止使用本地设备)跨过互联网进行安全的连接,这样就可以通过以下操作通过本地MySQL 命令语句来对远程数据库进行操作:

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

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

上一篇:新鲜草莓的保存方法

下一篇:

热门图文

  • jswindow.event对象详尽解析_javascript技巧

    JS的event对象Event属性和方法:1. type:事件的类型,如onlick中的click;2. srcElement/target:事件源,就是发生事件的元素;3. button:声明被按下的鼠标键,整数,1代表左键,2代表右键,4代表中键,如果按下多个键,酒把这些值加起来,所以3就代表左右键同时按下;(firefox中 0代表左键,1代表中间键,2代表右键)4. clientX/clientY:事件发生的时候,鼠标相对于浏览器窗口可视文档区域的左上角的位置;(在DOM标准中,这两个属

  • 检测是否已安装.NETFramework3.5的js脚本_javascript技巧

    本主题提供一个以 HTML/JavaScript 编写的脚本,管理员可以使用该脚本来确定系统上是否存在 .NET Framework 3.5。<HTML<HEAD<TITLETest for the .NET Framework 3.5</TITLE<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" /<SCRIPT LANGUAGE=&q

  • javascriptTable中2个列(TD)的交换实现代码_javascript技巧

      很简单的,给你个思路:例如A、B表格一行只有一个单元格,那么给A表格要移动内容的行TD,定义一个ID1;给B表格要存放内容的那行TD,定义一个ID2。然后JS中通过ID1获取A表格那行TD内容,再在JS中通过ID2赋值内容。涉及语法://获取A表格那单元格内容var tableATdValue = document.getElementById("ID1").innerHTML;//内容存入B表格那单元格document.getElementById("ID2&

  • javascript模拟select下拉列表特效_表单特效

    <script language="javascript">function i(vl){ if(vl==6){ document.getElementById("div1").innerHTML="<input type='text' value='' name='t1' id='t1'>"; }else{ document.getElemen

  • js静态HTML表格排序功能实现_javascript技巧

    页面中如下格式的人员信息表格:表格每行的HTML结构为:<tr> <td><input type="checkbox"></td> <td>2</td> <td>李斯</td> <td>43</td> <td>陕西</td></tr>假定表格的元素id为person-list,奇数行的class名为odd。 请实现如下功能

Top