【问题标题】:Bash restore database MySQLBash 恢复数据库 MySQL
【发布时间】:2013-10-09 09:14:57
【问题描述】:

我的 bash:测试

#!/bin/bash

case $1 in    
"restore") tar xzvf $2 | mysql --password=my_password --user=my_user my_db;;
*) echo "Others";;
esac

测试:

testing restore bckp_2013.tgz 

不工作,在第 1 行显示“ERROR 1064 (42000):您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在第 1 行的“bckp_2013.sql”附近​​使用1"

但这有效:

mysql --password=my_password --user=my_user my_db < bckp_2013.sql

有什么建议吗?谢谢。

【问题讨论】:

    标签: mysql bash


    【解决方案1】:

    试试这个:

    #!/bin/bash
    
    case $1 in    
    "restore") tar xzvf $2;
               sqlfile=$(ls -t *.sql | xargs);
               mysql --password=my_password --user=my_user my_db < $sqlfile;;
    *) echo "Others";;
    esac
    

    【讨论】:

    • 谢谢大卫。正在处理中!
    猜你喜欢
    • 2010-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 1970-01-01
    • 2019-02-15
    • 2013-02-24
    相关资源
    最近更新 更多