200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > mysql导出为lua配置表文件_利用lua生成一个导出数据库的bat脚本文件

mysql导出为lua配置表文件_利用lua生成一个导出数据库的bat脚本文件

时间:2024-04-16 00:07:43

相关推荐

mysql导出为lua配置表文件_利用lua生成一个导出数据库的bat脚本文件

function getExportDbSql(db, index)-- 获取导出一个数据库实例的sql语句

local sql = string.format('mysqldump -u%s -p%s -h%s -P%d --default-character-set=utf8 --databases mu_ins_s%s > %s.s%d.mu_ins_%d.sql', db.user, db.pwd, db.host, db.port, index, db.server, index, index)

return sql

end

function createDbBackupFile(fname, dbList)-- 生成数据库导出的语句保存到文件

if not fname or not dbList then

return false

end

local f = io.open(fname, 'w')

if f then

f:write('echo @off\n\n')

for _, db in ipairs(dbList) do

for k, index in ipairs(db.indexList) do

f:write(string.format('REM %s.s%d\n', db.server, index))

f:write(string.format('%s\n\n', getExportDbSql(db, index)))

end

f:write('\n')

end

f:close()

return true

end

return false

end

function initDb(user, pwd, host, port, server_name, indexList)-- 生成db字典对象并返回

local db = {user=user, pwd=pwd, host=host, port=port, server=server_name, indexList=indexList}

return db

end

function displayDb(db)

print('user = ' .. db.user)

print('pwd = ' .. db.pwd)

print('host = ' .. db.host)

print('port = ' .. db.port)

print('server = ' .. db.server)

local s = ''

for k, index in ipairs(db.indexList) do

if k == 1 then

s = index

else

s = s .. ", " .. index

end

end

print("s = " .. s)

print('\n')

end

function displayList(dbList)

for _, db in ipairs(dbList) do

displayDb(db)

end

end

function test()

local db1 = initDb('root', '123456', '127.0.0.1', 3306, 'th1', {10000, 1, 3})

local db2 = initDb('root', '123456', '127.0.0.1', 3306, 'th2', {10000, 1})

local dbList = {db1, db2}

displayList(dbList)

createDbBackupFile('export0.bat', dbList)

end

test()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。