【问题标题】:Access mysql using shell script使用shell脚本访问mysql
【发布时间】:2017-06-14 14:56:00
【问题描述】:

我想登录 mysql 控制台并设置最大数据包变量,然后从 mysql 控制台退出。我写了以下内容:

mysql -u root -proot
SET GLOBAL max_allowed_packet=509715201
exit

它只登录mysql,不做任何其他事情。

【问题讨论】:

标签: mysql bash shell ubuntu


【解决方案1】:
#!/bin/bash

mysql << EOF
SET GLOBAL max_allowed_packet=509715201;
quit
EOF

你应该使用shell的here documents来执行sql语句。

引自 Advanced Bash-Scripting Guide:

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

【讨论】:

  • 还是不行。能否请您详细说明 EOF。
  • EOF 只是 shell 的 here 文档的标记。执行上面的shell脚本,你的输出是什么?@Vivek Sadh
  • 我想我也应该指定用户名和密码来登录。对吗?我做 mysql -u root -proot
  • 如果您的 SET 命令一切正常,则没有输出。
  • 谢谢。 1024 件作品的倍数。看我的回答。我尝试使用不同的命令。
【解决方案2】:

谢谢。我想通了:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-14
    • 2010-09-24
    • 1970-01-01
    • 1970-01-01
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多