mysqldump: 1045报错解决经历

由于公司要求对所有生产环境备份,因此需要把oracle、mysql、sqlerver的数据库全部备份一下,但是我只会oracle,没办法,学吧!

经过一段时间的学习,了解了一下mysqldump,其实很简单,比oracle简单的多,但是在一个问题上一直卡着,脚本如下(windows操作系统的bat批处理脚本)


set d=%date:~0,4%%date:~5,2%%date:~8,2%

c:

mysqldump -uroot -ptest@2017^ --all-databases > D:\backup\db_test\db_test_%d%.sql


报错如下;

mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when trying to connect

开始怀疑是密码中@符号的错误,于是加了单引号,还是不行(linux写脚本的习惯...)

由于是生产环境,不能做测试,因此后来拿测试环境测,在经过更改脚本后成功,更改后如下:


set d=%date:~0,4%%date:~5,2%%date:~8,2%

set pw=test@2017^

c:

mysqldump -uroot -p%pw% --all-databases > D:\backup\db_test\db_test_%d%.sql


于是又在生产环境做,还是失败了,报错相同!mdzz...什么鬼

在多方打听和搜索,只是提供更改密码和创建用户的方式,生产环境怎么能乱改动,管理员也不允许变动过大!

后来终于咨询到,密码上添加双引号即可!!!


set d=%date:~0,4%%date:~5,2%%date:~8,2%

c:

mysqldump -uroot -p"test@2017^" --all-databases > D:\backup\db_test\db_test_%d%.sql


成功!!没错,就是这么简单!!

在此感谢朋友们的耐心回答!


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值