从转储文件还原数据库时如何记录sql错误

时间:2012-12-18 14:50:27

标签: mysql logging error-handling restore

此处有任何重复的道歉,但我发誓我已经研究过(并在此过程中学到了很多)。

环境是MySQL 5.5,在Windows 7上使用MYISAM表引擎。

工作是恢复从MySQL 4.0转储的数据库。我是从命令行执行此操作(我尝试使用Oracle的MySQL Workbench导入实用程序,但如果遇到错误则会失败)。恢复完成但我知道有错误被抛出。我想捕获那些,这样我就可以确保恢复完成而没有错误。

General_log似乎没有捕获任何东西(是的 - 它已经打开)。另一个日志文件(local_host_name.log)似乎根本不捕获sql语句级错误。

从命令行恢复时是否有捕获错误的方法?有没有办法用throw / catch语句编写转储文件本身,这会将错误写入日志文件?

提前致谢 - 我是一名MS SQL人,对MySQL来说是全新的。

3 个答案:

答案 0 :(得分:2)

你的提示中的@Rob(cmd?)尝试类似:

mysql -u your_user your_database <c:\path\to\your_script.sql >stdout_output.txt 2>stderr_output.txt

没有尖括号,符号'&lt;'和'&gt;'是命令行shell的重定向信号。

答案 1 :(得分:0)

我使用bash脚本恢复MySQL TB数据库,并将输出记录到如下所示的文件中,

/bin/bash /home/installation/scripts/finqa_restore.sh 2>&1 | tee /home/installation/scripts/output-stat.txt

答案 2 :(得分:0)

这对我有用:

 pv import_test.sql | mysql -urootuser -pyourpassword the_db_name >st_out_log.txt 2>error_log.txt

我遇到的一个问题是它似乎只捕获了一个错误。也许脚本在错误发生后停止执行。

相关问题