使用的是mysqldump命令,进行数据库sql文件的导出
import os
class InitSql(object):
sql_file = "A.sql"
def import_server_db(self):
mysqldump_commad_dict = {'dumpcommad': 'mysqldump ', 'server': '127.0.0.1', 'user': 'root',
'password': 'root', 'port': 3306, 'db': 'test_databases'}
# mysqldump 命令
sqlfromat = "mysqldump --column-statistics=0 -h%s -u%s -p%s -P%s %s > %s"
# 生成相应的sql语句
sql = (sqlfromat % (mysqldump_commad_dict['server'],
mysqldump_commad_dict['user'],
mysqldump_commad_dict['password'],
mysqldump_commad_dict['port'],
mysqldump_commad_dict['db'],
self.sql_file))
print("执行的导出数据库的sql:" + sql)
result = os.system(sql)
return result
if __name__ == '__main__':
initSql = InitSql()
initSql.import_server_db()
一小点儿常用参数:
--all-databases, -A: 导出所有数据库
--databases, -B: 用于导出多个数据库,如果没有该选项,mysqldump 把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysqldump 把每个名字都当作为数据库名。
--no-data, -d:只导出表结构
-t:导出数据不导出结构