0

我都,

我有一系列具有不同用户和密码的 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
4

2 回答 2

1

为什么不使用记录的方式?

do
  ${f} <<EOF
show tables
\\q
EOF
done
于 2012-09-02T00:57:49.157 回答
0

考虑到@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的内容就是上面的代码

于 2012-09-02T08:55:03.027 回答