文章目录

  • 前言
  • 一、开启远程访问权限
    • 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 socketimport sysimport structimport timeimport tcpimport threadingimport _threadimport pymysqlimport 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()方法创建一个游标对象cursorcursor = conn.cursor()# 插入数据库sql = "INSERT INTO test(grade) VALUES (%s); "cursor.execute(sql, [grade])# 提交事务conn.commit()# 关闭游标cursor.close()# 关闭数据库连接conn.close()def ReadData():# 连接数据库conn = MySQLConnect()# 使用cursor()方法创建一个游标对象cursorcursor = 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数据库开启远程访问