繁体   English   中英

MySQL备份脚本

[英]Mysql backup script

我正在使用脚本对Mysql中的所有数据库进行备份。

脚本是:

#!/bin/bash
cd /root/Desktop/backup
echo “You are In Backup Directory”

Now=$(date +%d-%m-%Y--%H:%M:%S)

File=$Now.sql

mysqldump –u root --all-databases > $File

echo “Your Database Backup Successfully Completed”

但是,当我试图还原数据库时,它给了我以下错误,并且根本没有返回,只是创建了一个文件:

SQL查询:

Usage: mysqldump [OPTIONS] database [tables]

OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]

OR     mysqldump [OPTIONS] --all-databases [OPTIONS]

For more options, use mysqldump --help

MySQL说:文档

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Usage: mysqldump [OPTIONS] database [tables] OR mysqldump [OPTIONS] --databa' at line 1

请帮忙。

终于我明白了,我需要在my.cnf定义密码,以便它自动使用,或者我必须在我正在脚本mysqldump -u root -p 'password' --all-databases > $File.执行的命令中定义mysqldump -u root -p 'password' --all-databases > $File.

谢谢你们的努力。

如果分隔符使用不正确或带有任何参数的关键字,则会出现1064错误,请检查备份文件并尝试在sqlyog中运行该sql命令,您可以找出错误所在

#!/bin/bash 
cd /root/Desktop/backup 
echo "You are In Backup Directory"

Now=$(date +%d-%m-%Y--%H:%M:%S)
File=$Now.sql
mysqldump -uroot -p --all-databases > $File

echo "Your Database Backup Successfully Completed"

您因为“-”而遇到问题,因为它是mysqldump语句中脚本中的其他字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM