首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Windows文件中刷新innodb表,复制文件,然后解锁表?

问如何从Windows文件中刷新innodb表,复制文件,然后解锁表?
EN

Database Administration用户
提问于 2015-10-10 16:38:09
回答 1查看 816关注 0票数 1

我可以在myTable工作台中成功地执行“用于导出的刷新表”。然后我可以复制我需要的cfg和ibd文件,然后我可以回到工作台运行“解锁表”,一切都很好。但我想从Windows批处理文件中执行此操作。但是,如果我运行以下bat文件:

代码语言:javascript
复制
mysql -username u -password < prepareTableForCopy.txt

prepareTableForCopy.txt包含以下内容:

代码语言:javascript
复制
use mydata;
FLUSH TABLES myTable FOR EXPORT;

我没有错误,但当我查看数据文件夹时,我需要复制的文件不在那里。看来,一旦运行刷新和脚本返回,文件就会消失。

如何解决这个问题,以便实现我的目标,即有一个.bat文件来准备表的导出,并将正确的文件复制到另一个目录。拉链文件然后打开表?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2015-10-10 18:50:50

你的问题是保持两个会话

  • 会话#1 :锁定表
  • 会话2:复制.ibd文件

请注意以下事项

  • 会话#1必须保持活动,以保持锁
  • 会话#1必须保持足够长的存活时间,以便会话2复制.ibd文件。

要执行的步骤

  • 会话#1在发出锁后休眠30秒。
  • 暂停5秒给会话#1锁定表的时间
  • 会话#2复制.ibd文件
  • 当会话#1终止时,锁将隐式释放(解锁)。

这给出了25秒的时间来复制.ibd文件。

这是Windows文件

代码语言:javascript
复制
@echo off
rem
rem Setup Path to MySQL Folders
rem
set BASE_FOLDER="C:\Program Files\MySQL\MySQL Server 5.6"
set DATADIR=%BASE_FOLDER%\data
rem
rem Setup Path to .ibd file and Destination Folder
rem
set COPY_FROM_DB=mydata
set TABLE_TO_COPY=mytable
set IBD_TO_COPY=%DATADIR%\%COPY_FROM_DB%\%TABLE_TO_COPY%.ibd
rem
rem Setup Destination Folder
rem
set TARGET_FOLDER=D:\BackupFolder
rem
rem Setup MySQL Username and Password
rem
set MYSQL_USER=root
set MYSQL_PASS=rootpassword
set MYSQL_CONN=-u%MYSQL_USER% -p%MYSQL_PASS%
rem
rem Setup Session to Lock Table and Hold Lock for 30 seconds in the Background
rem Pause 5 Seconds
rem Perform Physical Copy
rem
set TIME_TO_SLEEP=30
set TIME_TO_PAUSE=5
set SQL=FLUSH TABLES %TABLE_TO_COPY% FOR EXPORT ; DO SLEEP(%TIME_TO_SLEEP%)
start mysql %MYSQL_CONN% -D%COPY_FROM_DB% -ANe"%SQL%"
mysql %MYSQL_CONN% -D%COPY_FROM_DB% -ANe"DO SLEEP(%TIME_TO_PAUSE%)"
copy %IBD_TO_COPY% %TARGET_FOLDER%\.

试试看!

注意:如果复制时间超过30秒,您可以更改TIME_TO_SLEEP和TIME_TO_PAUSE。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/117635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档