Mysql 从转储文件还原数据库时如何记录sql错误
对于这里的任何重复,我深表歉意,但我发誓我已经进行了研究(并在此过程中学到了很多) 环境是在Windows7上使用MYISAM表引擎的MySQL 5.5 任务是恢复从MySQL 4.0转储的数据库。我从命令行执行此操作(我尝试使用Oracle的MySQL Workbench导入实用程序,但如果遇到错误,它将失败)。恢复已完成,但我知道会抛出错误。我希望捕获这些信息,以便确保恢复顺利完成 常规日志似乎没有捕获任何内容(是的,它已打开)。另一个日志文件(local_host_name.log)似乎根本没有捕获sql语句级错误 从命令行恢复时是否有捕获错误的方法?是否有一种方法可以使用将错误写入日志文件的throw/catch语句编辑转储文件本身 提前感谢——我是MySQL的新手,也是MS SQL的一员。@Rob在您的提示(cmd?)中尝试以下方法:Mysql 从转储文件还原数据库时如何记录sql错误,mysql,logging,error-handling,restore,Mysql,Logging,Error Handling,Restore,对于这里的任何重复,我深表歉意,但我发誓我已经进行了研究(并在此过程中学到了很多) 环境是在Windows7上使用MYISAM表引擎的MySQL 5.5 任务是恢复从MySQL 4.0转储的数据库。我从命令行执行此操作(我尝试使用Oracle的MySQL Workbench导入实用程序,但如果遇到错误,它将失败)。恢复已完成,但我知道会抛出错误。我希望捕获这些信息,以便确保恢复顺利完成 常规日志似乎没有捕获任何内容(是的,它已打开)。另一个日志文件(local_host_name.log)似乎根
mysql -u your_user your_database <c:\path\to\your_script.sql >stdout_output.txt 2>stderr_output.txt
mysql-u您的用户您的数据库stdout\u output.txt 2>stderr\u output.txt
没有尖括号,符号“”是命令行shell的重定向信号 我使用bash脚本恢复MySQL TB数据库,并将输出记录到如下所示的文件中
/bin/bash /home/installation/scripts/finqa_restore.sh 2>&1 | tee /home/installation/scripts/output-stat.txt
这对我很有用:
pv import_test.sql | mysql -urootuser -pyourpassword the_db_name >st_out_log.txt 2>error_log.txt
我遇到的一个问题是,它似乎只捕获了一个错误。可能脚本在出现错误后停止执行。如果您通过命令行运行导入,我将尝试使用--verbose命令再次运行它。这将在导入时向屏幕打印更多信息,包括错误。我来试一试--问题是,转储文件包含数千条语句,Windows命令行不会显示所有行。您可以使用“>”将输出重定向到文件。ie“mysql-u asdf-Ppass-h localhost databasename