gpt4 book ai didi

mysql - 一个简单的脚本,用于将所有 mysql 数据库备份到单独的文件夹中

转载 作者:行者123 更新时间:2023-11-29 17:45:13 25 4
gpt4 key购买 nike

你好,我有 10 个数据库,每个数据库有 3 个同名用户的表

我正在尝试按数据库名称将每个数据库转储到一个单独的文件夹,包括在该目录中转储的所有表。

所以我从这个示例代码开始。

mysql -uroot -p -e 'show databases' | while read dbname; do mysqldump -uroot -p -T/backup/$dbname/ --fields-terminated-by="|" "$dbname" > "$dbname".txt; done

然后我收到此错误。

mysqldump: Can't create/write to file '/home/database/users.sql' (Errcode: 2 - No such file or directory)

我对 bash 脚本编写不太了解请帮助我!!

我的第二个脚本

#!/bin/bash

echo "MySQL backup"
mysql -u root -pPwd -e "show databases" \
| grep -Ev 'Database|information_schema' \
| while read dbname;
do
echo "Dumping $dbname"
mysqldump -u root -pPwd --fields-terminated-by="|" $dbname > /var/lib/mysql-files/$dbname/ > "$dbname".txt; done
done

最佳答案

您指定了文件夹来存储转储,但没有在脚本中创建它们,因此,在 mysqldump 命令之前添加 mkdir:

do
echo "Dumping $dbname"
mkdir -p /var/lib/mysql-files/${dbname}
mysqldump ... > /var/lib/mysql-files/${dbname}/${dbname}.sql
done

关于mysql - 一个简单的脚本,用于将所有 mysql 数据库备份到单独的文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49847742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com