使用Python连接MySQL

这个专题讲述如何讲这些监控数据保存在MySQL中为日后所用

上节讲到安装MySQL数据库,这节讲如何利用Python连接MySQL数据库

环境设置

Linux系统为 Centos 6.8

Python环境为 Python 3.6

MySQL版本 MySQL 5.7 (GA)

连接MySQL模块:PyMySQL

创建数据库

首先我们创建一个数据库用于存放监控数据

这里我们创建名为oracle数据库

注意:一定要有DEFAULT COLLATE utf8_general_ci 防止乱码

mysql>CREATE DATABASE oracle
  DEFAULT CHARACTER SET utf8
  DEFAULT COLLATE utf8_general_ci;

检查刚创建的数据库*

mysql> show databases;

创建用于存放监控数据的表

这里我们新建一张oracle_indexmonitor的表

其中index_name为主键,insert_time为插入时间,自动插入当前时间

注意:请一定加上CHARSET=utf8防止乱码

mysql -uroot -p

mysql> use oracle

mysql> CREATE TABLE oracle_indexmonitor(
  index_name varchar(200) NOT NULL,
  ipaddress varchar(39) NOT NULL,
  tnsname varchar(100) NOT NULL,
  inser_time timestamp default current_timestamp ,
  PRIMARY KEY (index_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

安装PyMySQL模块

yum install MySQL-python
pip3 install PyMySQL

使用Python连接MySQL

这里新建个文件,文件名为:connectmysql.py

#!/usr/bin/python
#coding=utf8
import pymysql

# 打开数据库连接

db = pymysql.connect("localhost","root","Oracle@123","oracle" )

# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()

# 使用 execute()  方法执行 SQL 查询 
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()

print ("Database version : %s " % data)

# 关闭数据库连接
cursor.close()
db.close()

执行结果

[oracle@asensvr-monitor script]$ python connectmysql.py 
Database version : 5.7.18 

源码位置

代码请查看我的Github主页

https://github.com/bsbforever/wechat_oms

至此我们已经学会了如何利用Python来连接MySQL数据库

下节将利用python获取Oracle 索引信息