【问题标题】:bash script to access multiple mysql databasesbash脚本访问多个mysql数据库
【发布时间】:2012-09-02 16:55:03
【问题描述】:

我都是,

我有一系列具有不同用户和密码的 MYSQL 数据库,但是所有数据库的数据库结构都是相同的。 我无法为所有用户创建具有相同用户名和密码的用户,我需要快速对所有用户执行操作。

我正在考虑一个通过 cron 运行的 bash 脚本。

有什么建议吗?我正在考虑这样的事情,但它不起作用:(

#!/bin/bash
uconn=(
            'mysql -u user_db1         --password=pass_db1      db1      '
            'mysql -u user_db2         --password=pass_db2      db2      ' 

             )

for f in "${uconn[@]}"
do
    exec ${f}
    echo `mysql show tables`
    echo `mysql exit`
done
exit

【问题讨论】:

    标签: mysql bash sh


    【解决方案1】:

    为什么不使用documented 方式?

    do
      ${f} <<EOF
    show tables
    \\q
    EOF
    done
    

    【讨论】:

      【解决方案2】:

      考虑到@Ansgar Wiechers,只需粘贴完整代码:

      #!/bin/bash
      uconn=(
                  'mysql -u user_db1 --password=pass_db1  db1'
                  'mysql -u user_db2 --password=pass_db2  db2' 
      
                   )
      
      for f in "${uconn[@]}"
          do
            ${f} <<EOF
          show tables
          \\q
          EOF
          done
      exit
      

      要将代码从本地机器执行到远程机器,这对我有用:

      ssh ssh_user@mydomain.com 'bash -s' < /local/path/to/multiple_db_connections.sh 
      

      multiple_db_connections.sh的内容就是上面的代码

      【讨论】:

        猜你喜欢
        • 2017-03-16
        • 2018-02-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-30
        • 2017-09-29
        • 2019-06-30
        • 1970-01-01
        相关资源
        最近更新 更多