使用shell脚本访问mysql

使用shell脚本访问mysql,mysql,bash,shell,ubuntu,Mysql,Bash,Shell,Ubuntu,我想登录到mysql控制台,设置max packet变量,然后退出mysql控制台。我写了以下内容: mysql -u root -proot SET GLOBAL max_allowed_packet=509715201 exit 它只登录到mysql,不做任何其他事情 #!/bin/bash mysql << EOF SET GLOBAL max_allowed_packet=509715201; quit EOF 您应该使用shell的here文档来执行sql语句 引用高

我想登录到mysql控制台,设置max packet变量,然后退出mysql控制台。我写了以下内容:

mysql -u root -proot
SET GLOBAL max_allowed_packet=509715201
exit
它只登录到mysql,不做任何其他事情

#!/bin/bash

mysql << EOF
SET GLOBAL max_allowed_packet=509715201;
quit
EOF
您应该使用shell的here文档来执行sql语句

引用高级Bash脚本指南:

here文档是一个特殊用途的代码块。它使用一种形式的I/O 重定向以将命令列表提供给交互式程序或 命令,例如ftp、cat或ex文本编辑器


谢谢。我想出来了:

mysql -u root -proot -Bse "SET GLOBAL max_allowed_packet=509715456"

这可能会有所帮助:但它仍然不起作用。你能详细说明一下EOF吗?EOF只是壳牌here文件的一个标签。执行上面的shell脚本,您的输出是什么?@Vivek SadhI认为我还应该指定登录的用户名和密码。正当我做mysql-uroot-proot,如果你的SET命令一切正常,就没有输出了。谢谢。1024件作品的倍数。看看我的答案。我尝试使用不同的命令。