本文简单讲述如何利用python执行一些sql语句,例如执行mysqldump命令,进行数据库备份,备份成sql文件
#!/usr/bin/python
#导入os模块
import os
#导入时间模块
import time
#导入sys模块
import sys
#追加mysql的bin目录到环境变量
sys.path.append('C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin')

#如果不存在backup文件,新建一个
if not os.path.exists('backup'):
    os.mkdir('backup')
#切换到新建的文件夹中
os.chdir('backup')
#def tuplesql(command,server,user,passwd,db,table,filename):
#   return (mysqlcomm,dbserver,dbuser,dbpasswd,dbname,dbtable,exportfile)
#定义一系列参数
mysqlcomm='mysqldump'
dbserver='xxxx.xxxx.com'
dbuser='xxxxxxx'
dbpasswd='xxxxxxxxxxxxxxxxxxxxxxxx'
dbname='xxxxxx'
dbtable='xxxxx'
exportfile='xxxx.sql'
#定义sql的格式
sqlfromat="%s -h%s -u%s -p%s %s %s >%s"
#生成相应的sql语句
sql=(sqlfromat%(mysqlcomm,dbserver,dbuser,dbpasswd,dbname,dbtable,exportfile))

#判断是否已经有相应的sql文件生成;如果有,就按时间重命名该文件
if os.path.exists(r'qiang.sql'):
    print(time.ctime())
    os.rename('qiang.sql','qiang'+str(time.time())+'.sql')
    print('qiang'+str(time.time)+'.sql')
#执行sql并获取语句,os.system和subprocess.Popen执行该sql无效果,不知道是怎么回事,后续会继续关注
result=os.popen(sql)
#对sql执行进行判断
if result:
    print("backup completed!")
else:
    print("I'm sorry!!!,backup failed!")

 
 
 
 
 

python执行mysqldump命令的更多相关文章

  1. python执行linux命令的两种方法

    python执行linux命令有两种方法: 在此以Linux常用的ls命令为例: 方法一:使用os模块 1 2 3 shell# python >> import os >> ...

  2. 用python执行Linux命令

    例1:在python中包装ls命令 #!/usr/bin/env python #python wapper for the ls command import subprocess subproce ...

  3. 再见Xshell、Xftp!Python执行Linux命令、上传下载远程文件

    相信大家应该都接触过Linux操作系统(Ubuntu.Centos等),那么在使用的Linux操作系统需要使用一些远程ssh工具,尤其是公网服务器. 常用的ssh工具主要有:Xshell.MobaXt ...

  4. Python - 执行cmd命令

    python操作cmd 我们通常可以使用os模块的命令进行执行cmd 方法一:os.system os.system(执行的命令) # 源码 def system(*args, **kwargs): ...

  5. python 执行shell命令

    1.os模块中的os.system()这个函数来执行shell命令 1 2 3 >>> os.system('ls') anaconda-ks.cfg  install.log  i ...

  6. Python 执行linux 命令

    # !/usr/bin/env python # -*- coding: utf-8 -* import os def main(): file_list = os.popen("ls&qu ...

  7. 使用python执行linux命令

    python版本是2.7.12 一.简单的获取linux命令的执行结果,比如:获取一个PID的进程树结构,linux命令是pstree -p pid,在python中有一个模块可以方便的获取.至于有时 ...

  8. python执行cmd命令

    os.system os.system用来执行cmd指令,在cmd输出的内容会直接在控制台输出,返回结果为0表示执行成功 注意:os.system是简单粗暴的执行cmd指令,如果想获取在cmd输出的内 ...

  9. [python] 执行 dos 命令

    python的os模块 os模块调用CMD命令有两种方式:os.popen(),os.system(). 都是用当前进程来调用. os.system是无法获取返回值的.当运行结束后接着往下面执行程序. ...

随机推荐

  1. 13test02:信用卡校验

    /*#include<iostream> using namespace std; void input(); int counter=0,jishu_sum=0,oushu_sum=0, ...

  2. 采用Asp.Net的Forms身份验证时,持久Cookie的过期时间会自动扩展

    原文:http://www.cnblogs.com/sanshi/archive/2012/06/22/2558476.html 若是持久Cookie,Cookie的有效期Expiration属性有当 ...

  3. Java 并发同步器之CountDownLatch、CyclicBarrier

    一.简介 1.CountDownLatch是一个同步计数器,构造时传入int参数,该参数就是计数器的初始值,每调用一次countDown()方法,计数器减1,计数器大于0 时,await()方法会阻塞 ...

  4. HDU 4287 Intelligent IME(string,map,stl,make_pair)

    题目 转载来的,有些stl和string的函数蛮好的: //numx[i]=string(sx); //把char[]类型转换成string类型 // mat.insert(make_pair(num ...

  5. LA 3350

    The NASA Space Center, Houston, is less than 200 miles from San Antonio, Texas (the site of the ACM ...

  6. SQL技术内幕-4 row_number() over( partition by XX order by XX)的用法(区别于group by 和order by)

    partition by关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录,partition by用于给结果集分组,如果没有指 ...

  7. 通过HTTP头控制浏览器的缓存

    通过HTTP头控制浏览器的缓存 浏览器缓存是提高用户体验和提升程序性能的一个很重要的途径,通过浏览器的缓存控制,可以对实时性要求不高的数据进行缓存,可以减少甚至不需要再次对服务器的请求就可以显示数据. ...

  8. Windows 7,64位机器上安装DB2 7.2+FP7

    1.要想在Windows 7,64位机器上安装DB2 7.2+FP7,注意:1)拷贝所有安装文件到本地2)设置setup.exe文件兼容windows 20003)使得users用户勾选“完全控制”权 ...

  9. html + css + js注释规范

    添加注释到代码中,是一个很好的习惯,而且极大的提高了代码的可读性 1.HTML <!--commentContent--> 2.CSS //commentContent /*comment ...

  10. ​浅谈Asp.net的sessionState

    见:http://my.oschina.net/kavensu/blog/330436