利用Putty命令行放开MySQL远程访问的另类方法

MySQL workbench外网通过PuTTY设置SSH的tunnels远程访问内网服务器中的MySQL 问题描述: 为了数据安全,一些服务器增加了安全协议(如SSH),外网不能直接访问服务器。 服务器支持SSH远程登录功能时,通过mysql的图形界面工具(MySQL workbench)访问服务器里的mysql数据库, 需要进行一些配置。 详细步骤如下: 1.在自己的电脑上(不是服务器)安装PuTTY。 2.打开PuTTY,如下图,默认是session页面,在session页面的 阅读详情

   [题目] 《利用Putty命令行放开MySQL远程访问的另类方法》  

   `2013年4月9日  ~


    在Linux 下 MySQL 默认安装后是没有办法从远程访问的, 只能从本地接入访问,也就是只能从127.0.0.1 发起数据库连接; 为了解决这个问题,我们改变一下思路,让我们的工作机Windows看起来像是本地访问,这样我们就可以利用 SQLYog 之类的图形化界面来操控数据库,进而开放远程Access访问权限了。


     首先使用Putty 来从Windows工作机上连接到服务器, Putty 具有端口转发的功能(隧道),可以把发到本地 3306 端口的报文,转发到远端服务器 localhost 网卡的 3306 端口上, 所需要的仅仅是在putty 进行 SSH 远程登陆的命令行上,加上这句   -L 127.0.0.1:3306:127.0.0.1:3306  , 注意 -L 的 L 是一定要大写的 ;完整的Putty 命令行如下:

    putty  -2 -4 -P 22  -pw  ××××××  root@172.18.94.14   -L  127.0.0.1:3306:127.0.0.1:3306 

   上面命令行里 -2 -4 -P 22 这一堆参数就不说了, -pw  ××××××  root@172.18.94.14  这堆参数则是明文指定要登陆那台机,用什么用户以及密码等,有保密需求的可以酌情删减,我这样写仅是图个方便痛快。

   用 Putty 登陆服务器后, 第一件事当然是看看 我们要用的端口有没有被防火墙阻隔,MySQL 默认是3306 端口, 比方说,我现在登陆的是 CentOS ,用 chkconfig  iptables off 就可以关闭防火墙了, 如果不行,更直接点用 service iptables stop 来关闭 iptables 服务就行了。 如果非 RH 系的Linux 服务器,可以用  /etc/init.d/iptables 脚本来关闭(或打开) Linux 防火墙服务。

    到此,我们可以将本地3306 与 远端3306对接起来了, 访问本地的3306 ,就相当于在远端服务器上通过127.0.0.1 访问 3306 端口。 现在我们用 SQLYog 类似的图形化界面,打开 127.0.0.1 的 3306 端口, 如果是初安装,则不带密码就可以进入了,如果已经被人家加过密码了, 就在 MySQL 配置文件里加上忽略密码登陆的选项(后面再详细说)。


      [注:] 如果端口转发不起作用, 尝试编辑 /etc/ssh/sshd_config 文件, 在里面加入(或修改) AllowTcpForwarding   yes    和    GatewayPorts    yes  ;其中 GatewayPorts 参数的作用,是让 发送到机器 0.0.0.0 (即任意地址) 的报文也可以转发。 如果是 root 用户不能登陆,请打开这句 PermitRootLogin yes

    为了让 保持连接的参数更快生效,可修改如下Linux系统默认配置

 ● 编辑 vi /etc/sysctl.conf
 ● 然后执行: sysctl -p  马上生效
 ● 编辑时,输入(或修改)以下内容
    net.ipv4.ip_forward = 1
    net.ipv4.tcp_keepalive_time = 777
        使用  cat    /proc/sys/net/ipv4/tcp_keepalive_time  的命令来确认新设置的参数是否生效了...

 

  ● 现在我们终于骗过了服务器,伪装成本地访问 登陆到数据库了。

   进入了数据库之后,要开放远程访问权限,无非也是那么几种,找mysql数据库里的 mysql.user 表,将里面随便一个 root 用户的前缀访问范围,由localhost 或 127.0.0.1 改成了 % 就行了, 然后要指定密码的话, 请用 PASSWORD("××××××")这个函数字符串给密码那一栏强制赋值就可以了,当然,别忘了 FLUSH PRIVILEGES一下,就可以正式使用了。

--  如果不想使用密码,可以把 PASSWORD("指定新密码") 这个函数,换成 null 参数 ;
  

    ● 如果忘记了密码,可以在SSH登陆后,把配置文件(比如/etc/my.cnf) 的   [mysqld] 一节里面,添加这一选项 skip-grant-tables ,并重新启动数据库进程。

   然后就可以直接不用密码进入数据库,然后执行上面的修改新密码(或重授权)等一系列动作了。 当然,修改完后,最好还是在前面加 #号屏蔽忽略密码的那个选项(重启),否则就不够安全了。

    ● 原来  my.cnf 里 bind-address=127.0.0.1 也会影响导致无法远程访问数据库连接,改成 bind-address=0.0.0.0 即可。

    ● 补充一个Putty 的用法,就是把发送到远端服务器端口上的报文,通过隧道转发到本地网卡和端口上来,跟上面的过程刚好是反过来的一个过程,完整命令行如下:

        putty  -pw ×××××× root@172.18.94.14   -R  0.0.0.0:1237:0.0.0.0:2234

 

    ●  如果一定要用SQL命令完成授权的工作,请参考下面几个语句:

 ① 更改密码:
     update user set password=PASSWORD("secret") where user='root';
     FLUSH PRIVILEGES;

 ② 这是授权并设置新密码:
     GRANT ALL PRIVILEGES ON *.* TO '某用户'@'%' IDENTIFIED BY '新密码' WITH GRANT OPTION;
     FLUSH PRIVILEGES;

 ③ 也可以只授权(不重设密码)
     GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
     FLUSH PRIVILEGES;

 ④ 利用已有的 root 用户创建其他用户(拥有一样权限的)
     insert into user select "%","其他用户",PASSWORD("指定新密码"),Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Reload_priv,Shutdown_priv,Process_priv,File_priv,Grant_priv,References_priv,Index_priv,Alter_priv,Show_db_priv,Super_priv,Create_tmp_table_priv,Lock_tables_priv,Execute_priv,Repl_slave_priv,Repl_client_priv,Create_view_priv,Show_view_priv,Create_routine_priv,Alter_routine_priv,Create_user_priv,Event_priv,Trigger_priv,ssl_type,ssl_cipher,x509_issuer,x509_subject,max_questions,max_updates,max_connections,max_user_connections from user as u where u.user="root" and host="127.0.0.1";
     FLUSH PRIVILEGES;
  --  如果不想使用密码,可以把 PASSWORD("指定新密码") 这个函数,换成 null 参数 ;
      如果在 MySQL 稍早期版本里面使用的话,有些字段会提示没有,只要在语句里删掉该字段的查询即可。


   ————————————————

   [2014年05.29日更新]

    更简便的方法介绍 :)

  ● 安装mysql-server后,默认数据库不开远程访问
    要把 my.cnf 里面改bind-address=0.0.0.0
  ● 同时用 mysql -p 从本地命令行进入数据库
  ● 执行 update mysql.user set Host='%' where Host='localhost' and User='root';
  ● 然后 flush privileges;   和 quit ;
  ● 最后执行一下 service mysql restart    即可 
 

     参考了:  http://blog.youkuaiyun.com/temp77j/article/details/26454615

 

PUTTY:如何使用PUTTY通过跳板机连接Mysql数据库 方法步骤问题:如何使用PUTTY通过私钥从跳板机连接远程Mysql数据库Session ——>填写跳板机地址/端口SSH--Auth:填写私钥本地存放地址SSH--Tunnels:填写通道信息 问题:如何使用PUTTY通过私钥从跳板机连接远程Mysql数据库 Session ——>填写跳板机地址/端口 SSH–Auth:填写私钥本地存放地址 SSH–Tunnels:填写通道信息 ### Connection : 填写定时发送空包时间,用于保持连接 ... 阅读详情

相关推荐

【Putty】win10 / win 11:SSH 远程连接工具 Putty 下载、安装

PuTTY 是一个免费的、基于开源的 SSH 和 Telnet 客户端软件,可以用于远程登录和管理网络设备。它是一个可移植的程序,适用于多个操作系统,包括 Windows、Linux 和 macOS。

顾三殇 —— 博客空间(软件测试) 1万+

通过putty启动docker容器&启动mysql

通过putty启动docker一、登录putty二、启动docker三、启动mysql 一、登录putty 双击putty显示如下界面 通过在Linux里输入 ifconfig 在ens33里找到自己的IP地址,然后填进红框框所在的空白里。 第一次键入完成后可以点右边的save存到下面的大框框里(被棕色糊掉的地方),下次登陆从大筐里选中快捷进入。 进入之后,输入自己的用户名密码,此时注意的是输入密码时不会显示。 登陆成功,下面启动docker。 二、启动docker 首先(未启动docker时)输入d

6 1808

数据分析学习总结笔记02:聚类分析及其R语言实现

** 数据分析学习总结笔记02:聚类分析Cluster Analysis ** 1. 聚类分析概述 1.1 聚类分析的直观理解 在科学研究、社会调查或日常生活中,通过观察个体的特征,将群体中的个体归为不同的族群/簇(Cluster)。 2. 聚类分析的方法 3. 聚类分析的应用 3.1 市场营销——精准营销 在市场营销中,基于消费者的历史交易信息、消费者背景等对消费者进行划分,从而对不同类型的消费...

weixin_41961559的博客 4420

putty登录远程mysql_Putty实现自动登陆远程Linux主机的方法

由于工作需要,经常要从 Windows 主机访问远程的 Ubuntu 服务器,每次输入账号和老长的密码,感觉很麻烦,于是参考网上的教程简单的设置了一下就能自动登陆远程主机了,非常的方便。虽然 Putty 也提供了 puttygen.exe 生成公/密钥,但是和 Linux 主机生成的 KEY 格式不同,需要手工修改格式,所以采用 Linux 主机自己生成 KEY 的方式。首先登陆到 Linux 主...

weixin_39646018的博客 387

Jetson Orin NX深度学习环境配置全攻略:从JetPack到PyTorch避坑指南

本文提供Jetson Orin NX深度学习环境配置的完整避坑指南。重点讲解如何正确利用JetPack SDK作为系统基石,使用Miniforge管理Python环境,并安装与CUDA版本严格匹配的PyTorch特供版本。通过详细的步骤和验证方法,帮助开发者在ARM架构的嵌入式平台上高效搭建稳定的AI开发工作站。

yolo5detector的博客 272

BrepNet实战:5分钟搞定三维CAD模型的加工特征识别(附Python代码)

本文详细介绍了BrepNet在三维CAD模型加工特征识别中的实战应用,通过Python代码演示了从环境搭建到模型训练的全流程。BrepNet基于边界表示(BRep)的深度学习框架,能够高效识别加工特征,显著提升工业设计和智能制造领域的效率。文章还提供了性能优化和部署建议,帮助开发者快速实现AI驱动的几何特征识别。

weixin_29044713的博客 507

mysql数据库基本语句

我们除了可以在mysql数据库或phpmyadmin中登陆数据库我们还可以使用linux中命令进行创建,下面我来给大家介绍一个简单的数据库创建方法吧。 首选用putty连接linux服务器,进行命令行输入mysql -u+数据库用户 -p+数据库密码架设数据库用户是root 密码是123,应该是像下面这样才是正确的:mysql -uroot -p123-u和-p连接数据库用户和密码中间是不能有空...

weixin_30877493的博客 147

51单片机-点亮LED和蜂鸣器

ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。ULN2003是大电流驱动陈列,多用于单片机、只能仪表、PLC、数字量输出卡等控制电路中。可直接驱动蜂鸣器、继电器等负载。void delay(u16 i) // i等于1大约10uswhile(i--);//取反,高低电平不断变化,产生脉冲delay(10);// 周期200us。

三日沐水 1126

通过SSH远程访问MySQL服务器

So you’ve got MySQL on your web server, but it’s only opened to local ports by default for security reasons. If you want to accessyour databasefrom a client tool like the MySQL Query Browser, normal...

cum88284的博客 1103

EPLAN二次开发入门:Visual Studio 2019环境配置与插件调试实战

本文详细介绍了EPLAN二次开发入门的关键步骤,重点讲解如何在Visual Studio 2019中配置开发环境并进行插件调试。通过创建符合命名规范的项目、引用核心API库、实现插件接口以及使用附加进程调试等实战技巧,帮助电气工程师快速掌握EPLAN插件开发,提升自动化设计效率。

h6i7j8的博客 763

【AI产品思路】用户旅程图与用户全生命周期:到底是什么关系?

用户旅程图(User Journey Map)和用户全生命周期(User Lifecycle)是两种不同的分析框架。用户旅程聚焦单次交易体验的完整过程(如浏览→下单→售后),关注触点、情绪和优化点;而用户生命周期则关注用户与平台的长期关系(从认知到流失),着重提升留存和LTV。两者互为补充:生命周期是时间维度的关系框架,旅程图是行为维度的体验路径。电商运营中,旅程优化改善单次体验,生命周期优化解决长期增长问题,二者结合才能实现体验提升与商业效率的双赢。

qq_25438419的博客 217

putty的命令行大全

putty的命令行大全 最近在学putty的使用,找了一些资源共享如下: 1、cd (文件夹名)–查看路径 2、dir —查看当前路径下的所有文件 3、unzip ***.zip—–压缩文件到当前目录 4、wget (路径)—-下载 5、mv ***

chamtianjiao的专栏 9453

微信小程序报错:“errno“:600001,“errMsg“:“uploadFile:fail errcode:-105 cronet_error_code:-105 error_msg:net::

uploadFile:fail errcode:-105 cronet_error_code:-105 error_msg:net::ERR_NAME_NOT_RESOLVED,uniApp微信小程序使用uni.uploadFile出现报错,微信小程序如何解决wx.uploadFile报错,如何解决这个问题,微信小程序真机报错,微信小程序报错"errno":600001,"errMsg":"uploadFile:fail errcode:-105 cronet_error_code:-105 error_m

✅ 精选推荐文章 3826

mysql putty_putty mysql修改密码

该楼层疑似违规已被系统折叠隐藏此楼查看此楼putty mysql修改密码首先我们使用putty连接上服务器,连接成功后,我们直接使用mysql -u root -p[root@lecloud ~]# mysql -u root -pEnter password:xxxxxx 提示:输入你的mysql密码,这里的mysql密码是看不见的,输入正确回车键就行 转载请注明来源http://www...

weixin_36058866的博客 288

Mac下Neo4j的安装、配置及Error汇总

Mac 配置 jdk环境(图文) 卸载jdk

Yale-曼陀罗 1642

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

putty怎么查看MySQL密码_putty mysql修改密码

该楼层疑似违规已被系统折叠隐藏此楼查看此楼putty mysql修改密码首先我们使用putty连接上服务器,连接成功后,我们直接使用mysql -u root -p[root@lecloud ~]# mysql -u root -pEnter password:xxxxxx 提示:输入你的mysql密码,这里的mysql密码是看不见的,输入正确回车键就行 转载请注明来源http://www...

weixin_33895572的博客 598

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

putty安装mysql_putty mysql修改密码

该楼层疑似违规已被系统折叠隐藏此楼查看此楼putty mysql修改密码首先我们使用putty连接上服务器,连接成功后,我们直接使用mysql -u root -p[root@lecloud ~]# mysql -u root -pEnter password:xxxxxx 提示:输入你的mysql密码,这里的mysql密码是看不见的,输入正确回车键就行 转载请注明来源http://www...

weixin_42683394的博客 164

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

putty升级MySQL_putty mysql修改密码

该楼层疑似违规已被系统折叠隐藏此楼查看此楼putty mysql修改密码首先我们使用putty连接上服务器,连接成功后,我们直接使用mysql -u root -p[root@lecloud ~]# mysql -u root -pEnter password:xxxxxx 提示:输入你的mysql密码,这里的mysql密码是看不见的,输入正确回车键就行 转载请注明来源http://www...

weixin_36260335的博客 120

putty怎么安装mysql_windows系统安装PuTTY远程工具的方法

PuTTY是在Windows环境连接Linux服务器时,最常用的SSH客户端之一,在这里介绍安装PuTTY的方法。下载PuTTY首先下载PuTTY安装,下载地址如下。http://www.chiark.greenend.org.uk/~sgtatham/putty/1) 点击「Download」。2) 下载「Binaries」下的「putty-0.65-installer.exe」。PuTTY是由...

weixin_30762363的博客 256

putty mysql 中文_putty mysql修改密码

该楼层疑似违规已被系统折叠隐藏此楼查看此楼putty mysql修改密码首先我们使用putty连接上服务器,连接成功后,我们直接使用mysql -u root -p[root@lecloud ~]# mysql -u root -pEnter password:xxxxxx 提示:输入你的mysql密码,这里的mysql密码是看不见的,输入正确回车键就行 转载请注明来源http://www...

weixin_39864373的博客 93

【转】MySQL workbench外网通过PuTTY设置SSH的tunnels远程访问内网服务器中的MySQL

问题描述:为了数据安全,一些服务器增加了安全协议(如SSH),外网不能直接访问服务器。服务器支持SSH远程登录功能时,通过mysql的图形界面工具(MySQL workbench)访问服务器里的mysql数据库,需要进行一些配置。详细步骤如下:1.在自己的电脑上(不是服务器)安装PuTTY。2.打开PuTTY,如下图,默认是session页面,在session页面的Host Name中输入服务器的...

m0_37235489的博客 1144

putty mysql_putty mysql修改密码

该楼层疑似违规已被系统折叠隐藏此楼查看此楼putty mysql修改密码首先我们使用putty连接上服务器,连接成功后,我们直接使用mysql -u root -p[root@lecloud ~]# mysql -u root -pEnter password:xxxxxx 提示:输入你的mysql密码,这里的mysql密码是看不见的,输入正确回车键就行 转载请注明来源http://www...

weixin_35727143的博客 272

利用putty设置ssh代理 + nevicat 远程链接MySQL数据库

第一步设置putty填写ssh 远程的服务器然后 进入 connection > ssh > tunnelssource port 的位置填写监听端口destination 的位置填写代理的 host:port点击add 按钮添加然后ssh 连接服务器 输入用户名密码 把窗口最小化第二部设置 Navicat接下来就可以正常连接 MySQL数据库啦!...

吕海洋的博客 3388

SSH tunneling using PuTTY and MySQL-Front(PuTTY和MySQL-Front SSH隧道访问)

SSH tunneling using PuTTY and MySQL-Front PuTTY setup Create session hostname: any pgrad or ugrad SIT server e.g. grey.ug.it.usyd.edu.au or simply mysql.it.usyd.edu.auNOTE - as mysql.it.usy

jbgtwang的专栏 3593
上一篇: 再谈在Linux系统下快速简易配置samba文件共享
下一篇: Putty下实现可区分的显示动态Title标题窗口效果 [UbuntuSRV]
temp77
博客等级 码龄24年 21粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值