【远程调用 MySQL数据库并操作】——使用NATAPP搭建内网穿透远程访问MySQL数据库并使用 Python新建、写入、读取、删除数据【详细版】

news2025/7/19 10:15:21

所有的程序都是免费的!!

Python + MySQL + NATAPP

点个赞留个关注吧!!

NATAPP 安装使用教程 官网

NATAPP 下载 官网

NATAPP配置教程

1、进入NATAPP 登录/注册 进行登录,没有的注册一下,需要实名认证哦,也可以去使用别的内网穿透工具.

登录后进入购买隧道选项卡(有免费的可以领取),然后点击免费隧道

2、我们只需要修改一下 隧道协议 即可,修改成TCP,然后点击免费领取

3、点击我的隧道选项卡,找到TCP隧道点击 配置

 

4、我们提前复制好口令,一会需要使用,把本地地址修改成【127.0.0.1】,本地端口修改成【3306】,这个端口是MySQL的默认端口,具体根据 my.ini 进行配置,然后点击修改即可保存

 

 

5、点击下载 NATAPP客户端 ,windwos 或 linux 都可使用,方式方法一样

 

6、我们将下载好的文件解压,然后打开natapp所在文件夹,在地址栏里输入cmd回车,可以看到会打开一个cmd窗口

 

7、然后我们在cmd窗口内输入【natapp -authtoken=口令】,把你刚刚复制的口令粘贴上,然后回车即可。linux是【./natapp -authtoken=口令】需要先赋权限哦

 

8、接下来我们在另一台电脑打开【Navicat for MySQL】,一个MySQL数据库工具

 

 9、打开连接,点击MySQL 

 

10、我们 修改一个远程主机IP(内网传统工具natapp 产生的IP)和端口,然后我们填写要连接的数据库用户名称和密码,然后点击确定

 

 

11、然后双击这个服务器,就可以看到已经打开了

 

使用python 进行调用数据库【新建表】

需要手动修改一下 数据库用户、密码、连接的数据库、端口,运行一下

import pymysql

# 数据库连接信息
conn = pymysql.connect(
       host='server.natappfree.cc',     # 主机IP
       user='root',      #  数据库用户  需改
       passwd='*****',    # 密码  需改
       db='mysql',     # 连接的数据库  需改
       port=43371,     # 端口  需改
       charset="utf8")     # 编码

# 使用cursor 获取操作
cursor = conn.cursor()
# 执行语句
cursor.execute("""
create table NAME_1
(
id int(10) null comment 'user_id',
name varchar(10) null comment 'user_name',
age varchar(10) null comment 'user_old');
""")
# 提交到数据库进行执行
conn.commit()
# 关闭服务
conn.close()
cursor.close()

 

使用python 进行调用数据库【对表插入数据】

执行语句  【insert into 表对象(栏位,栏位,栏位) value (值,值,值)】,运行一下

import pymysql

# 数据库连接信息
conn = pymysql.connect(
       host='server.natappfree.cc',     # 主机IP
       user='root',      #  数据库用户  需改
       passwd='*****',    # 密码  需改
       db='mysql',     # 连接的数据库  需改
       port=43371,     # 端口  需改
       charset="utf8")     # 编码

# 使用cursor 获取操作
cursor = conn.cursor()
# 执行语句   
cursor.execute("insert into name_1(id,name,age) value (%s,%s,%s)",['001','王先生','24'])
# 提交到数据库进行执行
conn.commit()
# 关闭服务
conn.close()
cursor.close()

 

 使用python 进行调用数据库【对表查数据】

【select * from name_1 where age>50】查找 name_1 表内 所有age的值大于50的数据,并打印出全部条目*

import pymysql

# 数据库连接信息
conn = pymysql.connect(
       host='server.natappfree.cc',     # 主机IP
       user='root',      #  数据库用户  需改
       passwd='*****',    # 密码  需改
       db='mysql',     # 连接的数据库  需改
       port=43371,     # 端口  需改
       charset="utf8")     # 编码

# 使用cursor 获取操作
cursor = conn.cursor()
# 执行语句   
cursor.execute("select * from name_1 where age>50")
# 获取所有记录列表(用于查询数据使用)
results = cursor.fetchall()
for a in results:
   print('查询到:',a)
# 提交到数据库进行执行
conn.commit()
# 关闭服务
conn.close()
cursor.close()

 

 

使用python 进行调用数据库【删除表】

【drop table if exists name_1】 如果name_1存在则删除,运行一下,然后再刷新一下就可以看到已经删除掉了

import pymysql

# 数据库连接信息
conn = pymysql.connect(
       host='server.natappfree.cc',     # 主机IP
       user='root',      #  数据库用户  需改
       passwd='*****',    # 密码  需改
       db='mysql',     # 连接的数据库  需改
       port=43371,     # 端口  需改
       charset="utf8")     # 编码

# 使用cursor 获取操作
cursor = conn.cursor()
# 执行语句   
cursor.execute("drop table if exists name_1")
# 提交到数据库进行执行
conn.commit()
# 关闭服务
conn.close()
cursor.close()

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/36447.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python基础之字符串

文章目录一、字符串定义二、字符串相关使用三、空白字符表示哪些?四、实例1.要求:顺序并且居中对齐输出以下内容2.要求:1.将字符串中的空白字符全部删去;2.再使用“ ”作为分隔符,拼接成一个整齐的字符串五、字符串的切…

【vscode】远程云主机的报错

win11 之前在另一台电脑上的vscode是可以的 新电脑拷贝了vs的配置,但是远程不行了。 Install terminal quit with output: 过程试图写入的管道不存在。 发现连接不到远程以为是konw hosts 的问题, 删除了要访问ip的内容,还是不行&#x…

网络程序设计——异步选择模型(基于消息的选择、基于事件的选择)

目录 一、异步选择模型 1、基于消息的选择模型 (1)WSAAsyncSelect模型 (2) WSAAsyncSelect()函数 (3)使用 WSAAsyncSelect模型接收数据的过程 (4)WSAAsyncSelect模型的编程方法…

IDEA常用插件

笔记来源于B站视频 以下为视频的地址 【【尚硅谷】IDEA2022全新版教程,兼容JDK17(快速上手Java开发利器)】https://www.bilibili.com/video/BV1CK411d7aA?p26&vd_source581d732b20cb23e01428068f153a99ed 推荐1:Alibaba J…

MCE丨重组蛋白常见的融合标签

Q:什么是融合标签? A:融合标签是指利用 DNA 体外重组技术,在目的蛋白 N 端或 C 端进行融合表达的特定蛋白、多肽或寡肽标签。 Q:融合标签有什么作用? A:重组蛋白通过融合标签与包被在固相基质上…

第六章《类的高级特性》第5节:接口

在Java语言中,一个类只能继承一个父类,专业上把这种继承机制称为“单继承”。单继承是一种较为稳妥继承机制,能够规避很多潜在的问题,但这种继承机制的局限性也显而易见:子类不能从多个父类中继承属性和方法,从而无法最大程度的减少重复劳动。为了弥补这个缺陷,Java语言…

web前端-javascript-关系运算符(>、>=、<、<=、非数值,Unicode 编码说明)

文章目录关系运算符1. 说明2. > 大于号3. > 大于等于4. < 小于号5. < 小于等于6. 非数值的情况6.1. 对于非数值进行比较时&#xff0c;会将其转换为数字然后再比较6.2. 如果符号两端都是字符串时&#xff0c;不会将其转换为字符串进行比较6.3. 任何值和 NaN 做任何…

为什么单线程的Redis如此的快(Why is single-threaded Redis so fast)

视频地址&#xff1a;YouTube Why is Redis so fast? What fundamental design decisions did the developers make more than a decade ago that stood to test of time. Let’s take a look. Redis is a very popular in-memory database. It’s rock solid, easy to use, a…

HittER: Hierarchical Transformers for Knowledge Graph Embeddings

HittER: Hierarchical Transformers for Knowledge Graph Embeddings HittER由两部分组成&#xff1a; 1&#xff0c;底部&#xff1a;Entity Transformer 源实体的局部邻居的每个实体-关系对的特征提取。负责将实体关系对中所有有用特征打包成向量&#xff0c;以供顶部块使用…

mysql基础部分第一次复习(1-8章,到聚合函数)

基本的使用 show databases; create database 数据库名; //创建数据库 use 数据库名&#xff1b; //使用数据库 使用完use语句之后接下来的SQL操作都是针对当前数据库的了show tables; //查看某个数据库的所有表格 show tables from 数据库名&#xff1b;create table 表名称{…

C++--智能指针--1123

1.智能指针解决的问题 int div() {int a, b;cin >> a >> b;if (b 0)throw invalid_argument("除0错误");return a / b; } void Func() { // 1、如果p1这里new 抛异常会导致p1不会Delete而导致内存泄漏 // 2、如果p2这里new 抛异常会导致p1和p2都不会de…

【数据结构学习笔记】18:线段树(单点修改)

1 线段树上的操作 push_up(int u)&#xff1a;由子节点的信息去计算父节点的信息&#xff0c;例如两个子节点的区间和&#xff0c;加起来就是父节点表示的区间和。其中u是当前节点编号&#xff0c;表示用u的左右两个子节点来算一下自己这个节点的信息。push_down&#xff1a;将…

流氓设备检测和预防

自带设备 &#xff08;BYOD&#xff09; 策略中涉及的设备以及这些设备连接到的端口具有多个通信路径。确保这些设备及其路径在进入组织网络时立即被检测、评估和管理至关重要&#xff0c;因为非托管设备很容易成为安全风险。但是&#xff0c;在整个企业网络中同时添加许多设备…

反射、枚举、lambda——小记

文章目录反射反射定义反射相关的类Class 类反射示例获得Class对象的三种方式反射使用 ——代码面试题:你知道有几种创建对象的方式吗?反射优点和缺点枚举Lambda表达式概念Lambda表达式的语法代码反射 反射定义 Java的反射&#xff08;reflection&#xff09;机制是在运行状态…

路由策略和路由控制

路由策略和路由控制 路由策略 针对路由的发布&#xff0c;接收&#xff0c;引入进行控制&#xff0c;从而影响数据的路径或者可达性 路由匹配工具 ACL&#xff1a;访问前缀列表 一个ACL用多条规则组成&#xff0c;不同规则之间通过rule id进行区分&#xff0c;默认rule 步…

(附源码)python办公数据分析系统 毕业设计 021836

Python办公数据分析系统 摘 要 现代办公通过办公自动化系统可以大大提高的效率、节省成本、规范业务和流程&#xff0c;辅助提升管理水平。办公系统在单位信息化中占有非常重要的地位&#xff0c;涉及到单位的各个部门及绝大多数人员&#xff0c;流程和协作方面要求非常强。 办…

[附源码]java毕业设计英语知识竞赛报名系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

NDK 是什么 | FFmpeg 5.0 编译 so 库

前言 NDK 全称 Native Development Kit&#xff0c;也就是原生开发工具包 &#xff0c;官网对它有详细的 中文介绍 。可能一说到 NDK 或 JNI &#xff0c;大家脑子里第一反应就是集成 C/C 。其实 JNI 的含义是 Java Native Interface &#xff0c;这种接口允许 Java 和其他语言…

SpringBoot SpringBoot 原理篇 1 自动配置 1.3 bean 的加载方式【三】

SpringBoot 【黑马程序员SpringBoot2全套视频教程&#xff0c;springboot零基础到项目实战&#xff08;spring boot2完整版&#xff09;】 SpringBoot 原理篇 文章目录SpringBootSpringBoot 原理篇1 自动配置1.3 bean 的加载方式【三】1.3.1 第三种方式1 自动配置 1.3 bean …

体系结构26_输入输出系统(3)

盘阵列&#xff08;RAID&#xff09; 盘阵列容量大、速度快、可靠性高、造价低廉。它是目前解决计算机I/O瓶颈的有效方法之一&#xff0c;有着广阔的发展前景。 盘阵列有多种组织方式&#xff1a; RAID 0 亦称数据分块&#xff08;Striping&#xff09;&#xff0c;即把数据分…