注释:脚本(gomysql.py)需要进一步优化,初学者,努力中

首先配置需要执行的dbip.ini列表,格式如下

S1  192.168.0.5   3306  dbusername dbpasswd dbname
S2  192.168.0.6   3306 dbusername dbpasswd  dbname
S3  192.168.0.7   3306 dbusername dbpasswd  dbname

执行方法:./gomysql.py dbip.ini(参数一,数据库账号IP配置列表,实例如下) db.sql(参数二,执行的sql语句文本)

效果:

# ./readlnedb.py logdbip.ini 20150827/select_22.sql

logdbip.ini
20150827/select_22.sql
确认以上信息[y/n]:

脚本内容如下:

#!/usr/bin/python
#encoding:utf-8
import sys
import os
import MySQLdb
import datetime
if len(sys.argv) < 2:
 print "error: " + sys.argv[0] + "file1 file2"
 sys.exit()
file1=sys.argv[1]
file2=sys.argv[2]
print file1
print file2

#sql = open(file2,"r").read()
#print sql

str = raw_input("确认以上信息[y/n]:")
if str != "y":
   exit()

for line in open(file1,"r"):
   servername=line.strip().split()[0]
   ip=line.strip().split()[1]
   port=line.strip().split()[2]
   user=line.strip().split()[3]
   pswd=line.strip().split()[4]
   dbname=line.strip().split()[5]
   print "\n=======",servername,"==========="
   db = MySQLdb.connect(ip,user,pswd,dbname)
   cursor = db.cursor()
   for sql in open(file2,"r"):
    cursor.execute(sql)
    data = cursor.fetchall()
    for row in data:
           print "\n"
           num = 0
           while (num < len(row)):
             print row[num],
             num += 1
   db.close()

python批量连接mysql的更多相关文章

  1. 使用Python编程语言连接MySQL数据库代码

    使用Python编程语言连接MySQL数据库代码,跟大家分享一下: 前几天我用python操作了mysql的数据库,发现非常的有趣,而且python操作mysql的方法非常的简单和快速,所以我把代码分 ...

  2. 通过python代码连接MySQL以及插入和显示数据

    通过python代码连接MySQL以及插入和显示数据: 数据库huahui创建一个shibie的表,里面有两个varcahr(100)的字段,num和result. import pymysql im ...

  3. python如何连接mysql数据库

    先花点时间来说说一个程序怎么和数据库进行交互1.和数据库建立连接2.执行sql语句,接收返回值3.关闭数据库连接使用MySQLdb也要遵循上面的几步.让我们一步步的进行. 1.MySQL数据库要用My ...

  4. python MySQLdb连接mysql失败(转载)

    最近了解了一下django,数据库选用了mysql, 在连接数据库的过程中,遇到一点小问题,在这里记录一下,希望能够对遇到同样的问题的朋友有所帮助,少走一些弯路.关于django,想在这里也额外说一句 ...

  5. python 简单连接mysql数据库

    1. 安装pymysql 库 pip install pymysql 2.实例本地连接mysql库 #!/usr/bin/python # encoding: utf-8 ""&q ...

  6. 在python中连接mysql数据库,并进行增删改查

    数据库在开发过程中是最常见的,基本上在服务端的编程过程中都会使用到,mysql是较常见的一种数据库,这里介绍python如果连接到数据库中,并对数据库进行增删改查. 安装mysql的python扩展 ...

  7. python无法连接mysql,有个小坑,需要注意一下!

    尝试用python链接mysql数据库,按照教程里链接了小半夜,就是没有链接上,找了各种文章,最后发现是版本的问题,我想使用的模块是MySQLdb,刚刚去他们的官网看了一下,最近一次更新是2014年, ...

  8. Python如何连接Mysql及基本操作

    什么要做python连接mysql,一般是解决什么问题的 做自动化测试时候,注册了一个新用户,产生了多余的数据,下次同一个账号就无法注册了,这种情况怎么办呢?自动化测试都有数据准备和数据清理的操作,如 ...

  9. python MySQLdb连接mysql时报错

    故障现象: >>> import MySQLdb >>> conn = MySQLdb.connect(host=,charset="utf8" ...

随机推荐

  1. jQuery补充知识点

    链式编程 通常情况下,只有设置操作才能把链式变成延续下去.因为获取 操作的时候,会返回获取到的响应的值,无法反对jQuery对象. //end(); 筛选选择器会改变jQuery对象的DOM对象,想要 ...

  2. Inviting Friends(hdu3244 && zoj3187)完全背包+二分

    Inviting Friends Time Limit: 1 Second Memory Limit: 32768 KB You want to hold a birthday party, invi ...

  3. Java设计模式之【单例模式】

    Java设计模式之[单例模式] 何为单例 在应用的生存周期中,一个类的实例有且仅有一个 当在一些业务中需要规定某个类的实例有且仅有一个时,就可以用单例模式 比如spring容器默认初始化的实例就是单例 ...

  4. JVM复习--新生代GC

    在复习Java内存机制的过程中有一些新问题,自问自答,做个记录.新生代是java堆内存的一部分.堆内存分新生代和老生代两大块,也有把堆内存分为新生代老生代永久代(持久代)三块的说法.(不过这种说法应该 ...

  5. 在Oracle中实现每日表备份并删除7天前的备份表

    不用闪回技术,因为业务想眼睁睁的看到备份表,而不是让DBA搞一通之后,才能看到备份数据表 OK,那好办了,写个存储过程解决你的需求,每天建个新表,把数据备份进去,业务人员可以看到这些每天的备份表 然后 ...

  6. python变量作用域,函数与传参

    一.元组传值: 一般情况下函数传递参数是1对1,这里x,y是2个参数,按道理要传2个参数,如果直接传递元祖,其实是传递一个参数 >>> def show( x, y ): ... p ...

  7. npm WARN checkPermissions Missing write access to 解决办法

    解决办法 删除掉 C:\Users\dd\AppData\Roaming\npm-cache\ C:\Users\dd\AppData\Roaming\npm\  两个文件夹

  8. Angular4.x 自定义搜索组件

    Angular4 随笔(三)  ——自定义搜索组件 1.简介 本组件主要是实现了搜索功能,主要是通过父子组件传值实现. 基本逻辑: 1.创建一个搜索组件,如:ng g component  searc ...

  9. SpringMVC 文件上传(Multipart)

    作者QQ:1095737364    QQ群:123300273     欢迎加入! 平时用的上传一般是输入流和输出流上传,今天使用的是transferTo方法: Multipart请求是在控制器实例 ...

  10. linux下将本地文件上传到github中?

    今天编写一份Python基础代码,经过Linux上传到github上,遇到点问题,已经解决 1.首先sudo su 进入root 用户 2.ls 检查出当前文件下有什么文件 3. cd 进入你将要上传 ...