exit echo off echo %date% %time% :init ::: mysql导出工具文件全名 set ExportBinary="%~dp0mysqldump.exe" ::: mysql导入工具文件全名 set ImportBinary="%~dp0mysql.exe" ::: 游戏基础信息服务器配置 set Hostname_base="rm-bp16sbf0l9cavp7h9o.mysql.rds.aliyuncs.com" set Hostport_base="3306" set Username_base="develop" set Password_base="develop123!@#" set Database_base="youle_games" set ExportTable_base=player ::: 游戏战绩服务器配置 set Hostname_record="rm-bp16sbf0l9cavp7h9o.mysql.rds.aliyuncs.com" set Hostport_record="3306" set Username_record="develop" set Password_record="develop123!@#" set Database_record="youle_games" set ExportTable_record=player_grade,gold_account ::: 后台服务器配置 set Hostname_owner="rm-wz978o3vha6z26m5no.mysql.rds.aliyuncs.com" set Hostport_owner="3306" set Username_owner="yunuser" set Password_owner="Yun_User" set Database_owner="game_db" set Database_owner_temp="game_db_temp" ::: 临时服务器配置 set Hostname_temp="localhost" set Hostport_temp="3309" set Username_temp="root" set Password_temp="root_root" set Database_temp="game_db" set Database_temp_temp="game_db_temp" ::exit ::: 是否需要保存到临时库 set NeedSaveToTemp=0 ::: 要执行的脚本 set ExecuteCommand_1="call cp_SynchronizeSettle();" ::: 保证脚本输出目录一定存在 if not exist "%~dp0script" md "%~dp0script" ::: 要导出的脚本文件名的前缀(后面还会加上表名) set ScriptnamePrefix=%~dp0script\%date:~0,4%%date:~5,2%%date:~8,2% ::: 判断脚本是否存在, 存在则删除 ::if exist %Scriptname% del %Scriptname% for %%t in (player, sales_user, sales_sellbill, sales_transferbill, sales_buybill) do ( ::: 判断脚本是否存在, 存在则删除 if exist "%~dp0script\%%t.sql" del "%~dp0script\%%t.sql" ::: 循环导出脚本 %ExportBinary% --default-character-set=utf8 --opt -h%Hostname_owner% -P%Hostport_owner% -u%Username_owner% -p%Password_owner% %Database_owner% %%t > "%~dp0script\%%t.sql" if %errorlevel% neq 0 goto exit ::: 循环导入脚本 %ImportBinary% --default-character-set=utf8 -h%Hostname_temp% -P%Hostport_temp% -u%Username_temp% -p%Password_temp% %Database_temp% < "%~dp0script\%%t.sql" if %errorlevel% neq 0 goto exit ) exit :export echo 开始导出游戏基础信息脚本 for %%t in (%ExportTable_base%) do ( ::: 判断脚本是否存在, 存在则删除 if exist "%ScriptnamePrefix%_base_%%t.sql" del "%ScriptnamePrefix%_base_%%t.sql" ::: 循环导出脚本 echo 导出表%%t到%ScriptnamePrefix%_base_%%t.sql %ExportBinary% --default-character-set=utf8 --opt -h%Hostname_base% -P%Hostport_base% -u%Username_base% -p%Password_base% %Database_base% %%t > "%ScriptnamePrefix%_base_%%t.sql" if %errorlevel% neq 0 goto exit ) echo 游戏基础信息脚本导出完成 echo 开始导出游戏战绩脚本 for %%t in (%ExportTable_record%) do ( ::: 判断脚本是否存在, 存在则删除 if exist "%ScriptnamePrefix%_record_%%t.sql" del "%ScriptnamePrefix%_record_%%t.sql" ::: 循环导出脚本 echo 导出表%%t到%ScriptnamePrefix%_record_%%t.sql %ExportBinary% --default-character-set=utf8 --opt -h%Hostname_record% -P%Hostport_record% -u%Username_record% -p%Password_record% %Database_record% %%t > "%ScriptnamePrefix%_record_%%t.sql" if %errorlevel% neq 0 goto exit ) echo 游戏战绩脚本导出完成 :import echo 开始导入游戏基础信息脚本 for %%t in (%ExportTable_base%) do ( echo 从%ScriptnamePrefix%_base_%%t.sql导入表%%t %ImportBinary% --default-character-set=utf8 -h%Hostname_owner% -P%Hostport_owner% -u%Username_owner% -p%Password_owner% %Database_owner_temp% < "%ScriptnamePrefix%_base_%%t.sql" if %errorlevel% neq 0 goto exit ) echo 游戏基础信息脚本导入完成 echo 开始导入游戏战绩脚本 for %%t in (%ExportTable_record%) do ( echo 从%ScriptnamePrefix%_record_%%t.sql导入表%%t %ImportBinary% --default-character-set=utf8 -h%Hostname_owner% -P%Hostport_owner% -u%Username_owner% -p%Password_owner% %Database_owner_temp% < "%ScriptnamePrefix%_record_%%t.sql" if %errorlevel% neq 0 goto exit ) echo 游戏战绩脚本导入完成 :synchronize echo 执行脚本%ExecuteCommand_1% %ImportBinary% -h%Hostname_owner% -P%Hostport_owner% -u%Username_owner% -p%Password_owner% -e%ExecuteCommand_1% %Database_owner% if %errorlevel% neq 0 goto exit echo 脚本执行完成 if %NeedSaveToTemp% equ 0 goto convertdata :savetotemp echo 开始导入游戏基础信息脚本到临时库 for %%t in (%ExportTable_base%) do ( echo 从%ScriptnamePrefix%_base_%%t.sql导入表%%t %ImportBinary% --default-character-set=utf8 -h%Hostname_temp% -P%Hostport_temp% -u%Username_temp% -p%Password_temp% %Database_temp_temp% < "%ScriptnamePrefix%_base_%%t.sql" if %errorlevel% neq 0 goto exit ) echo 游戏基础信息脚本导入完成 echo 开始导入游戏战绩脚本到临时库 for %%t in (%ExportTable_record%) do ( echo 从%ScriptnamePrefix%_record_%%t.sql导入表%%t %ImportBinary% --default-character-set=utf8 -h%Hostname_temp% -P%Hostport_temp% -u%Username_temp% -p%Password_temp% %Database_temp_temp% < "%ScriptnamePrefix%_record_%%t.sql" if %errorlevel% neq 0 goto exit ) echo 游戏战绩脚本导入完成 echo 执行同步脚本 echo 执行脚本%ExecuteCommand_1% %ImportBinary% -h%Hostname_temp% -P%Hostport_temp% -u%Username_temp% -p%Password_temp% -e%ExecuteCommand_1% %Database_temp% if %errorlevel% neq 0 goto exit echo 脚本执行完成 :convertdata ::"%~dp0MySqlSynchronize.exe" :clean echo 删除脚本文件 for %%t in (%ExportTable_base%) do del "%ScriptnamePrefix%_base_%%t.sql" for %%t in (%ExportTable_record%) do del "%ScriptnamePrefix%_record_%%t.sql" echo 脚本删除完成 :exit echo %date% %time% echo on pause