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