上次实验做到了建立了自己的数据库...
今天做的是如何连接数据库,只有数据库连接成功才能传输数据。
一、老师给的虚拟机有两个陷阱需要填上,即root用户不能连接和bind-address需要屏蔽掉。
解决方法如下:
1、连接校网,因为获取数据需要连接校网,所以开启虚拟机时也要连接校网。
2、开启虚拟机,然后执行以下命令:
- cd /etc/mysql/
- ls
- sudo vim my.cnf
3、打开文件后将bind-address =127.0.0.1注释掉
4、运行代码使修改文件生效: /etc/init.d/mysql restart
5、ifconfig获取虚拟机ip地址
6、浏览器打开phpmyadmin,网址还是:虚拟机ip地址/phpmyadmin
7、添加一个用户,因为root不可用
8、添加用户并赋予权限
二、编写程序连接数据库
程序:
import pymysql
#host是ip,user是添加的用户,port是缺省端口,passwd是密码,db是数据库名
conn = pymysql.connect(host='10.1.161.204',
user='bridge',
port=3306,
charset='utf8',
passwd="123456",
db="bridge"
)
cur = conn.cursor()
sql = '''
SELECT sjcjtdh,tdmc,Ip,port,bz FROM cgqpzzb WHERE 1
'''
try:
print("连接成功 !")
cur.execute(sql)
except:
print("信息库连接失败")
运行结果:
这就表示着数据库连接成功了,接下来就是怎么把数据传输进数据库了......
这里先写一点想法:
1、数据先进行处理,hextobytes和CRC校验
2、传之前与上一次数据进行比较,如果变化太大,就不传入数据库,变化小于某个值可以传入数据库
3、传入哪一个表?那与这个表相关联的表也必须同时传,不然会失败
例如,cdb,cdsjb,gcxmb,这三个表有外键,主键之间的联系
先做到这里了......