因为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 ***************************;
答案 0 :(得分:1)
有-E(或--vertical)开关来使客户端行为垂直 这意味着你可以尝试:
mysql --vertical=false
答案 1 :(得分:0)
您可以通过〜/ .my.cnf文件让您的客户overide the options of my.cnf。
我不确定是否可以覆盖所有选项,阅读我发布和/或试验的手册页会告诉您。