文章目录
- 前言
- 一、开启远程访问权限
- 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数据库开启远程访问