我想登录mysql控制台并设置max packet变量然后退出mysql控制台。我写了以下内容:
mysql -u root -proot
SET GLOBAL max_allowed_packet=509715201
exit
它只登录到mysql并且没有做任何其他事情。
答案 0 :(得分:1)
#!/bin/bash
mysql << EOF
SET GLOBAL max_allowed_packet=509715201;
quit
EOF
您应该使用shell here documents
来执行sql语句。
来自Advanced Bash-Scripting Guide的引用:
此处的文档是一个专用代码块。它使用一种I / O形式 重定向以将命令列表提供给交互式程序或 命令,例如ftp,cat或ex文本编辑器。
答案 1 :(得分:0)
感谢。我弄清楚了:
mysql -u root -proot -Bse "SET GLOBAL max_allowed_packet=509715456"