Mysql备份脚本

标签 mysql database shell scripting

我正在使用一个脚本来备份我在 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 - 您的 SQL 语法有错误;查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行的“用法:mysqldump [OPTIONS] 数据库 [表] 或 mysqldump [OPTIONS] --databa”附近使用的正确语法

请帮忙。

最佳答案

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

感谢你们的努力。

关于Mysql备份脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22706369/

相关文章:

linux - 如何打印特定用户名的 CMD1、PID、PPID、USER、UID、GID,它应该采用相同的格式,我已经使用了这个命令,但它向所有用户显示

php - MySQL 和 PHP : summing up data from a table

c# - 基于当前登录的用户使用 LINQ 处理不同的数据库?

java - 如何用 2 个不同的类刷新 Jtable?

database - MicrosoftEntityFrameworkCore 无法从程序集中找到迁移

linux - 在 linux 中创建可执行程序的路径时遇到问题

shell脚本从其路径中查找文件名

mysql - MySQL Concat 和类似命令的问题

mysql - 给定所有权限,在 MySQL 上创建表的权限

php - 按外部表中相关行数对 MySQL 结果进行排序