mysqldump从我的localhost生成空转储

时间:2016-12-20 08:33:06

标签: mysql

美好的一天,

我正在尝试使用bash生成一个mysql数据库转储。

我使用此link

创建了一个示例.sh
 #!/bin/bash
 # Database credentials
 user="root"
 password=""
 host="localhost"
 db_name="sampledb"
 # Other options
 backup_path="C:\_backup"
 date=$(date +"%d-%b-%Y")
 # Set default file permissions
 umask 177
 # Dump database into SQL file
 mysqldump --user=$user --password= --host=$host $db_name > $backup_path/$db_name-$date.sql

创建了转储文件,但它是0kb(空)

我的bash的哪个部分是问题? (我,第一次创造这样的东西)

更新代码

更新

似乎我需要在我的环境变量中添加mysqldump路径 我在win7中运行它。

提前致谢

2 个答案:

答案 0 :(得分:0)

问题可能来自您的密码? 我认为您应该尝试将其保存在$ password =“”

答案 1 :(得分:0)

你正在使用一个bash脚本(大概是linux / unix的某些版本)但是一个Windows路径,你在cygwin吗?即使在cygwin上,你需要在脚本的顶部放一个shebang(#!/ bin / bash)。无论如何,你还没有将密码变量添加到命令行(或填充它,但我想这是故意的),试试:

mysqldump --user=$user --password=$password --host=$host $db_name > $backup_path/$db_name-$date.sql

你的umask变量没有做任何事情。在这样的文件中使用密码可能不安全,请确保您对相应用户的文件具有受限访问权限。