【发布时间】:2011-06-01 15:44:36
【问题描述】:
因为 mysql 命令的垂直输出模式非常好,所以我已经将我的环境设置为默认输出为垂直布局。我通过创建包含
的 c:\windows\my.cnf 来做到这一点[mysql]
vertical
遗憾的是,我所有的 mysql shell 脚本也都采用了这个设置,对解析 mysql 命令的输出造成了严重破坏。
在从 shell 脚本调用 mysql 时,是否可以使用命令行开关或 SQL 来覆盖 my.cnf 中的垂直设置?
具体来说,我有一个看起来像这样的 shell 脚本
set SQLFILE=.\cmdelOldRecords.sql
set TMPCKTFILE=.\temp2.sql
:: get all "_aud" tables from database
mysql -h %1 --port=3306 --database=%MYSQL_DB% --user=%MYSQL_USER% --password=%MYSQL_PASSWORD% -B -N -e "show tables like '%%\_aud'" > %TMPCKTFILE%
for /F "tokens=1" %%i in ('type %TMPCKTFILE%') do (
echo drop table %%i; >> %SQLFILE%
echo commit; >> %SQLFILE%
)
mysql -h %1 --port=3306 --database=%MYSQL_DB% --user=%MYSQL_USER% --password=%MYSQL_PASSWORD% -B -N < %SQLFILE%
但我的 .\cmdelOldRecords.sql 以类似的东西结束
drop table ***************************;
【问题讨论】: