python通过远程连接mysql数据库进行操作

news2024/11/27 21:05:55

文章目录

  • 前言
  • 一、开启远程访问权限
    • 1、开启远程访问端口
    • 2、命令行登录mysql
  • 二、Navicat 建库
    • 1、新建连接
    • 2、建库建表
  • 三、python对数据库进行远程操作
  • 三、总结
  • 四、参考资料


前言

环境:
1、mysql 5.7
2、pycharm 22.3.1 Professional
3、navicat


一、开启远程访问权限

1、开启远程访问端口

控制面板—系统和安全—windows防火墙—高级设置-入站规则;

  • 新建入站规则:
    在这里插入图片描述
  • 选择端口:
    在这里插入图片描述
  • 填入想要开启远程访问的端口号:
    在这里插入图片描述

后续一直next直至完成即可。

2、命令行登录mysql

  • 首先进入到mysql的bin安装目录:
    在这里插入图片描述
  • 创建账号root ,密码为mypassword,具有全部权限,允许从所有IP进行连接:
    在这里插入图片描述
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
  • 开启远程控制:
update user set host='%' where user='用户名';

报错:
在这里插入图片描述

这里输入我们需要操作的数据库即可。后续再输入开启远程控制时仍然报错如下:

在这里插入图片描述
我们输入下面这行代码让其生效即可:

flush privileges;

二、Navicat 建库

1、新建连接

在这里插入图片描述

2、建库建表

  • 在连接上右击即可进行建数据库:

在这里插入图片描述
在这里插入图片描述

进行相应的设置即可。

  • 建表:
    在这里插入图片描述
    在这里插入图片描述

通过添加栏位来添加表的基本信息,并进行类型、长度、主键的设置。

在这里插入图片描述

  • 创建成功:
    在这里插入图片描述

三、python对数据库进行远程操作

import socket
import sys
import struct
import time
import tcp
import threading
import _thread
import pymysql
import pymysql


#连接数据
def MySQLConnect():
    connection = pymysql.connect(
        host='局域网地址',  # IP,MySQL数据库服务器IP地址 后面换成局域网地址
        port=3307,  # 端口,默认3306,可以不输入
        user='root',  # 数据库用户名
        password='mypassword',  # 数据库登录密码
        database='ks',  # 要连接的数据库
        charset='utf8'  # 字符集,注意不是'utf-8'
    )
    return connection

#插入数据到数据库
def AddData(grade):
    # 连接数据库
    conn = MySQLConnect()
    # 使用cursor()方法创建一个游标对象cursor
    cursor = conn.cursor()
    # 插入数据库
    sql = "INSERT INTO test(grade) VALUES (%s); "
    cursor.execute(sql, [grade])
    # 提交事务
    conn.commit()
    # 关闭游标
    cursor.close()
    # 关闭数据库连接
    conn.close()
def ReadData():
    # 连接数据库
    conn = MySQLConnect()
    # 使用cursor()方法创建一个游标对象cursor
    cursor = conn.cursor()
    # 读数据库
    cursor.execute('select * from test')
    aa = cursor.fetchall()
    print(aa)
    #cursor.execute(sql, [num, yb, wd, time])
    # 提交事务
    conn.commit()
    # 关闭游标
    cursor.close()
    # 关闭数据库连接
    conn.close()

if __name__ == '__main__':

    try:
        # MySQLConnect()
        ReadData()
        AddData(50)
        # ReadData()
        print("连接成功")
    except:
        print("连接失败")
        sys.exit(1)

将host处换成局域网地址即可进行远程连接。


三、总结

此次操作并不难,只是需要细心,数据库、表、登陆密码、地址等一定要填写正确方可进行操作。

四、参考资料

本地mysql数据库开启远程访问

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

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

相关文章

数字孪生与物流园区:优化布局规划的关键

随着全球贸易的增长和物流行业的发展,物流园区作为重要的物流枢纽和供应链管理中心,扮演着至关重要的角色。而数字孪生技术的出现为物流园区的运营和管理带来了革命性的变化。数字孪生技术是一种将实体物体与其数字化模型相结合的创新技术,通…

微信小程序| 基于ChatGPT+明基屏幕挂灯实现超智能家居物联网小程序

一、需求背景 在尝试了这么多次的ChatGPT在纯软方向的应用开发后,深感LLM(大语言模型)的能力之强大。俗话说得好:心有多大舞台就有多大!基于AI大模型,可以尝试的方面实在是数不胜数!轻轻松松就可以突破在移动互联网时…

1. Qt小游戏 --- 推箱子

1. 说明 这个小游戏主要使用Qt中的绘制事件函数**paintEvent()**在画布上面不停的绘制图形,并使用定时器做时间上的触发处理,这个小游戏只是做了简单的逻辑处理,具体复杂的功能读者可自行发挥,效果展示如下: Qt制作推箱子小游戏 2. 相关代码 《推箱子》小游戏项目文件中…

最新(photoshop AI)photoshop beta 安装成功过程

目录 安装过程说明如图 效果如图 第一步:手机浏览器 创建 微软邮箱 打开浏览器 注册时候,选择 MG,其他正常填写即可。 第二步:打开 官网,(创建账号)或者直接输入注册的账号直接登录 第三…

ArgoCD(四)--Application管理

1.3 Application管理 先导入一个测试的repo在本地gitlab(gitlab.icloud2native.com),方便测试。 1.3.1 创建application 通过argocd cli创建application 通过argocd 的命令行可以创建application argocd app create guestbook --repo http…

Spark大数据处理学习笔记1.2 Scala变量与数据类型

文章目录 一、变量声明(一)简单说明(二)利用val声明变量1、声明方式2、案例演示 (三)利用var声明变量1、声明方式2、案例演示 (四)同时声明多个变量 二、数据类型(一&…

企业课(理论)

数据链路层 IP地址:32bit 十进制、二进制表示 Mac地址:48bit 十六进制 (0-9,a-f) Mac地址: 单播Mac地址:一对一 48bit第八bit为0 组播Mac地址:一对多 48bit第八b…

iOS app上架截屏尺寸 5.5英寸:1242x2208 6.5英寸:1242x2688

5.5英寸和6.5英寸的iphone的截屏必须上传 5.5英寸:1242x2208 6.5英寸:1242x2688

张量分析入门笔记 (Tensor For Beginner)

前言 学习的时候感觉要学一下张量,在B站看了一个视频,记录一下,参考的是B站视频【机翻】张量分析入门 (Tensor For Beginner) 前言1. 张量的定义 Tenson Definition2. 张量的前向和后向的转换 Forward and Backward Transformation3. 向量 Ve…

Java网络开发(servlet思考)——什么时候用转发,什么时候用重定向 请求request,响应response

目录 引出转发和重定向1.请求转发---request2.响应重定向----response 转发?重定向?1.登陆后重定向2.登陆后转发3.总结 案例:图书信息管理系统1.用户相关操作---注册,登陆,修改密码 / 昵称,退出登陆2.图书相…

努力有没有用?

努力有没有用? 都说站在风口浪尖,猪都能飞起来。 但时代的红利也是给有准备的人才能抓住。凭什么人家努力了那么久,做了那么多准备,在无人问津的小黑屋熬那么久,终于出人头地后被说成是吃了时代的红利。 努力&#xf…

vue封装组件发布到npm,支持unplugin-vue-components按需引入

目的:vue封装组件发布到npm,支持unplugin-vue-components按需引入 vue组件 https://gitee.com/jiangzhuqingfeng/plugin-vue-componets.git工具类 https://gitee.com/jiangzhuqingfeng/plugin-validate.gittaro组件 https://gitee.com/jiangzhuqingfeng/plugin-tar…

4年测试经验面试要20K,简单问了一下,连基础都不会,我也是醉了····

现在招个合适的人可真难呀,不是这不会就是那不会,没有一个让我满意的 公司前段时间缺人,面试了不少的测试,结果居然没有一个符合要求的。一开始瞄准的就是中级测试工程师的水准,也没指望来技术大牛,提供的薪…

谷歌二次验证 Google Authenticator

后台登录要搞令牌,类似于steam令牌、企鹅令牌等等 开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。 实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责…

ChatGPT+Pandas 联手,打造智能数据分析助手PandasAI,数据分析师也要失业了?!

文章目录 前言一、ChatGPT的介绍二、Pandas的介绍三、使用Pandas处理文本数据四、使用ChatGPT生成文本总结 笔记、Python学习资料戳链接直达获取>> 前言 自然语言处理(NLP)是人工智能领域中的一个重要分支,它涉及到计算机对人类语言的…

Jedis使用教程详解

目录 一、前言二、基本使用三、Jedis连接池四、连接池参数五、哨兵模式六、集群模式七、Springboot当中使用Jedis八、Springboot源码分析 一、前言 Jedis是Redis的一款Java语言的开源客户端连接工具,什么是客户端?就是真正使用者,像我们安装…

【Web网站服务】Nginx优化

Nginx网页优化 一、配置Nginx网页缓存时间1.1设置方法 二、隐藏Nginx版本号2.1方法一:修改配置文件2.2方法二:修改源码文件,重新编译 三、修改用户与组四、日志切割五、连接超时六、更改进程数七、网页压缩八、配置防盗链九、Linux内核参数优…

音乐制作宿主软件有哪些,音乐制作宿主如何选择

音乐是我们抒发感情的一种方式,不同的音乐表达不同的情感。而正因为如此,很多人想创作表达自己情感的音乐。但创作音乐的难点在于普通人并不知道一些专业知识,也不知道专业的音乐编曲软件。那么今天我们就来说一说音乐制作宿主软件有哪些以及…

电力能耗监测系统是如何运作的

电力能耗监测系统数据的采集主要通过多功能仪表、通讯管理机、通讯协议实现能耗数据的采集,能耗数据上传后经大数据计算实现能耗数据的展示,满足用户对能耗监测的需求。下面对电力能耗监测系统的是怎么采集数据的展开介绍: 1.多功能仪表 对高…

【QQ聊天界面、拖拽界面、实现数据源方法 Objective-C语言】

一、那么,接下来,我们就先把控件给它拖一下, 1.打开Main.storyboard, 里面现在是不是有一个3.5英寸的控制器, 然后,看一下我们这个示例程序,上面整体是一个UITableView, 下面留出来,一条,44的高度,放一个UIView, 由两部分组成, 所以说,我们大体上,要放两个…