我是一个MySQL新手,但需要安排一个任务来自动备份我的数据库。
我设法使用以下命令手动创build备份: –
mysqldump -u root -p --all-databases > "a:\mysql\all_databases.sql"
但我不能解决如何运行命令而不必手动input密码。 我努力了: –
mysqldump -u root -p'*my password*' --all-databases > "a:\mysql\all_databases.sql"
似乎执行,但由此产生的文件只有1KB的大小。 而第一个命令生成一个2661kB的文件。
谁能帮我?
尝试以下命令,用root密码替换“your_password”:
mysqldump --user=root --password=your_password --all-databases >"a:\mysql\all_databases.sql"
即使这是一个旧的线程:)对于完整的备份,包括用户,访问权限(如我的情况)performance_schema,函数,例程和触发器,你根本不需要mysqldump。
在你的机器上下载并安装7zip。 停止你的mysql服务器。 打开命令提示符并使用此:
"C:\Program Files\7-Zip\7z.exe" a -t7z -mx9 -mhe -p<my_secure_password> "W:\backup_all_mysql_databases.7z" "W:\wamp\bin\mysql\mysql5.6.17\data"
对于未压缩的186MB数据文件夹,您将获得170KB的7z存档。 您可以创建BAT文件以将当前日期时间附加到文件。
恢复意味着从MySQL解压缩,删除旧的/数据文件夹,并从备份中取代。
有一个小缺点…如果你忘记了root密码(像我一样),你也将无法恢复数据库。
就这样。