Windows下用python备份MySQL数据库

以下代码,正确性有待检测。但是,我能够确认一点:使用wampserver,要使用mysqldump导出数据库,必须先启动wampserver。

为了确保能够使用mysqldump,必须先启动wampserver。使用python代码启动wampserver并不难,难的是,一旦启动了wampser ver,命令行就卡住了,在启动wampserver之后的代码就不再执行。我关闭了wampserver,才有所反应,但是命令行仍没有恢复正常。如何解决这个问题,我在技术群里问到了一个“subprocess.Popen”。它应该就是解决问题的方法,相关网址是https://docs.python.org/2/library/subprocess.html。但是,看了文档,我也不知道该怎么做,估计还需花时间去研究。



在windows下用Python备份MySQL数据库,首先要先启动MySQL系统。

一、启动MySQL系统

退出wampserver后,运行已经证明是正确的导出数据库数据的python代码,出现报错信息:

mysqldump: Got error: 2003: Can't connect to MySQL server on 'localhost' (10061)
 when trying to connect

所以,要先启动MySQL系统。我使用的python代码是:
import os

sqlval ="E:/cg/wamp/bin/mysql/mysql5.6.12/bin/mysqld"

result = os.system(sqlval)

出现信息:


运行python代码关闭MySQL系统

import os

sqlval ="E:/cg/wamp/bin/mysql/mysql5.6.12/bin/mysqld stop"

result = os.system(sqlval)

出现提示信息:

2014-04-22 15:41:28 0 [Warning] TIMESTAMP with implicit DEFAULT value is depreca
ted. Please use --explicit_defaults_for_timestamp server option (see documentati
on for more details).

这些提示信息有时出现,有时不出现,我不想再花时间去检测它们了。但是,是否出现这些警告信息,并不影响MySQL的开启和关闭。

搜索了一些网络资料,

#开启查询缓存
explicit_defaults_for_timestamp=true 

添加后就不再显示错误了。

我没有测试。

但是我使用如下值

sqlval =

"E:/cg/wamp/bin/mysql/mysql5.6.12/bin/mysqld -install"
成功启动了MySQL,无报错和警告信息。

在windows上,开启和关闭MySQL的命令,我不能准确知道到底是哪两句。按照网上的资料去检测了一下,也没有能够识别出哪些是正确的。我决定不暂时搁置这个问题。这样的问题,只是记忆性的知识而已。

你可能感兴趣的:(Python)