mysqldump备份0字节,提示mysqldump.exe遇到了一个问题,需要关闭。

mysqldump备份0字节,提示mysqldump.exe遇到了一个问题,需要关闭。,第1张

有两种方法,一种方法使用mysql的check table和repair table 的sql语句,另一种方法是使用MySQL提供的多个myisamchk, isamchk数据检测恢复工具。前者使用起来比较简便。推荐使用。

1. check table 和 repair table

登陆mysql 终端:

mysql -uxxxxx -p dbname

check table tabTest

如果出现的结果说Status是OK,则不用修复,如果有Error,可以用:

repair table tabTest

进行修复,修复之后可以在用check table命令来进行检查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。

2. myisamchk, isamchk

其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:

myisamchk tablename.MYI

进行检测,如果需要修复的话,可以使用:

myisamchk -of tablename.MYI

关于myisamchk的详细参数说明,可以参见它的使用帮助。需要注意的时在进行修改时必须确保MySQL服务器没有访问这个数据表,保险的情况下是最好在进行检测时把MySQL服务器Shutdown掉。

-----------------------------

另外可以把下面的命令放在你的rc.local里面启动MySQL服务器前:

[ -x /tmp/mysql.sock ] &&/pathtochk/myisamchk -of /DATA_DIR/*/*.MYI

其中的/tmp/mysql.sock是MySQL监听的Sock文件位置,对于使用RPM安装的用户应该是/var/lib/mysql/mysql.sock,对于使用源码安装则是/tmp/mysql.sock可以根据自己的实际情况进行变更,而pathtochk则是myisamchk所在的位置,DATA_DIR是你的MySQL数据库存放的位置。

需要注意的时,如果你打算把这条命令放在你的rc.local里面,必须确认在执行这条指令时MySQL服务器必须没有启动!检测修复所有数据库(表)

@echo off

set path=C:\program files\mysql\mysql server 5.5\bin

cd ./

set CURR_PATH=%cd%

mysql -h localhost -u root --password=root <crm.sql

mysql -h localhost -u root -p CRM <rms.sql --password=root

set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"

md "E:\数据备份\%ymd%"

"D:\MySQL\bin\mysqldump.exe" --opt -Q mysql -uroot -p123456789 >

E:\数据备份\%Ymd%\mysql.sql

REM ..... 这里可以添加更多的命令,要看你有多少个数据库,其中 -Q 后面是数据库名称

-p紧跟后面是密码

echo Winrar loading...

"C:\Program Files\WinRAR\WinRAR.exe" a

-ep1 -r -o+ -m5 -df "E:\数据备份\%Ymd%.rar" "E:\数据备份\%Ymd%"

echo OK!

把上面的命令保存为 backup.bat ,双击运行,就开始备份数据了。

第一句是建立一个变量 %Ymd% ,通过

%date% 这个系统变量得到日期,%date:~,4% 表示取日期的前面4个字符就是年份,%%date:~5,2%

表示取日期第5个字符开始的2个字符就是月份,%date:~8,2% 这个就是日期号数,如 2009-06-20 这个日期最后得到的结果是 20090620

第二句就是使用变量 %Ymd% 的值建立一个空的文件夹。

第三句开始就是使用MySQL的命令对数据库mysql进行备份,并存储在

E:\数据备份\%ymd% 这个文件夹下面,这里可以有很多类似的命令,备份多个数据库。

最后就是使用 WinRAR 对备份的数据进行压缩,并存储为以

%Ymd% 变量值建立的RAR文件名,同时删除备份的 %Ymd% 目录。

如果你想让系统自动定期备份,就可以通过系统的任务计划定期执行这个命令。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10101042.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存