首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL备份脚本在windows调度程序中调度

MYSQL备份脚本在windows调度程序中调度
EN

Database Administration用户
提问于 2022-12-10 06:35:24
回答 1查看 293关注 0票数 -1

我正在寻找脚本,1。备份所有MYSQL数据库每日一次与日期和时间2。所有数据库mysql数据库一致性检查。

尝试获得错误用法: mysqldump 选项数据库表格

代码语言:javascript
复制
@echo off
set current=%date:~10,4%%date:~4,2%%date:~7,2%
set filename="G:\MYSQL_Backup\Paintrax-DBs-%current%.sql"
::set filename2="G:\MYSQL_Backup\Paintrax-DBs-%current%.zip"
echo %filename%
cd "G:\MYSQL_Backup"
:: mysqldump -u root -p password --all-databases > G:\MYSQL_Backup\all_databases_2022_Dec.sql
:: mysqldump -u root -p password -port 9119 --all-databases > G:\MYSQL_Backup\all_databases_20200424.sql
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqldump.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --host=localhost --port=9119 -p password --result-file=%filename% --default-character-set=utf8 --user=root --protocol=tcp --routines --events --single-transaction=TRUE --add-drop-table --all-databases >logfile.txt
echo backup-finished
:: comment out
::if exist %filename% (
  ::  "C:\Program Files\7-Zip\7z.exe" a %filename2% %filename%
    ::echo zip-finished
::    del %filename%
::)
::if exist %filename2% (
  ::  copy %filename2% "\\x.x.x.x\MySQL Backups"
    ::echo copy-finished
::)

我正在使用的版本:Windowsserver2019 mysql 8.0.31 for Win64 on x86_64 (MySQL )

谢谢。

EN

回答 1

Database Administration用户

发布于 2022-12-10 07:17:35

您有带有空格的-p password,但根据4.5.4 mysqldump的说法:

--password[=password], -p[password] 如果给定,则--password=-p与其后面的密码之间必须没有空格。

另一方面,不应在脚本中使用此参数,公开密码,而应将密码存储在选项文件中。

在命令行中指定密码应视为不安全。若要避免在命令行上提供密码,请使用选项文件。见第6.1.2.1节,“最终用户密码安全指南”

即使脚本文件只能由运行它的用户读取,任何访问服务器的用户都可以在脚本运行时读取密码,例如

wmic process where caption="mysqldump.exe" get commandline

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/320800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档