当前位置: 代码网 > it编程>前端脚本>Powershell > 使用Shell脚本操作多个MySQL数据库的步骤详解

使用Shell脚本操作多个MySQL数据库的步骤详解

2025年08月13日 Powershell 我要评论
使用 shell 脚本操作多个 mysql 数据库步骤 1: 数据库信息文件首先准备一个包含三个 mysql 数据库信息的文件,例如 db_info.txt。文件内容如下:192.168.1.100

使用 shell 脚本操作多个 mysql 数据库

步骤 1: 数据库信息文件

首先准备一个包含三个 mysql 数据库信息的文件,例如 db_info.txt。文件内容如下:

192.168.1.100 3306 root rootpassword1 database1
192.168.1.100 3307 root rootpassword2 database2
192.168.1.100 3308 root rootpassword3 database3

每行表示一个数据库,字段顺序为:

  1. 主机地址
  2. 端口号
  3. 用户名
  4. 密码
  5. 数据库名称

步骤 2: 创建 shell 脚本

编写以下脚本,命名为 create_tables.sh

#!/bin/bash

# 数据库信息文件路径
db_info_file="db_info.txt"

# 要执行的 sql 文件
sql_file="create_table.sql"

# 检查数据库信息文件是否存在
if [[ ! -f "$db_info_file" ]]; then
    echo "数据库信息文件 $db_info_file 不存在!"
    exit 1
fi

# 检查 sql 文件是否存在
if [[ ! -f "$sql_file" ]]; then
    echo "sql 文件 $sql_file 不存在!"
    exit 1
fi

# 遍历数据库信息文件
while read -r host port user password database; do
    # 确保读取的字段完整
    if [[ -z "$host" || -z "$port" || -z "$user" || -z "$password" || -z "$database" ]]; then
        echo "数据库信息文件格式不正确,跳过行:$host $port $user $database"
        continue
    fi

    echo "连接到数据库 $database ($host:$port)..."

    # 使用 mysql 命令执行 sql 文件
    mysql -h "$host" -p "$port" -u "$user" -p"$password" "$database" < "$sql_file"

    # 检查执行结果
    if [[ $? -eq 0 ]]; then
        echo "sql 文件已成功执行到 $database。"
    else
        echo "sql 文件执行到 $database 失败!"
    fi

    echo "--------------------------------------"

done < "$db_info_file"

步骤 3: 创建 sql 文件

准备一个示例 sql 文件 create_table.sql,内容如下:

create table if not exists example_table (
    id int auto_increment primary key,
    name varchar(255) not null,
    created_at timestamp default current_timestamp
);

步骤 4: 设置脚本权限并执行

为脚本赋予执行权限:

chmod +x create_tables.sh

执行脚本:

./create_tables.sh

执行流程:

  1. 脚本会读取 db_info.txt 文件中的数据库信息。
  2. 遍历每个数据库,并通过 mysql 命令连接。
  3. 对每个数据库执行 create_table.sql 中的 sql 语句。
  4. 显示每个数据库的执行结果。

示例输出:

连接到数据库 database1 (192.168.1.100:3306)...
sql 文件已成功执行到 database1。
--------------------------------------
连接到数据库 database2 (192.168.1.100:3307)...
sql 文件已成功执行到 database2。
--------------------------------------
连接到数据库 database3 (192.168.1.100:3308)...
sql 文件已成功执行到 database3。
--------------------------------------

这样,脚本可以灵活地从文件中读取多个数据库信息,并完成指定的 sql 文件执行操作!

到此这篇关于使用shell脚本操作多个mysql数据库的步骤详解的文章就介绍到这了,更多相关shell脚本操作多个mysql数据库内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com