因为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 ***************************; 发布于 2011-06-01 23:52:13
有一个垂直(或-E )开关可以让客户端垂直操作,这意味着您可以尝试:
mysql --vertical=false发布于 2011-06-01 23:51:12
您可以通过~/.my.cnf文件获得客户端overide the options of my.cnf。
我不确定所有选项都可以覆盖,阅读我发布的手册页和/或实验将告诉您。
https://stackoverflow.com/questions/6203931
复制相似问题