问题描述
今天在用批处理进行mysql自动备份的过程中遇到一个问题,错误提示:mysqldump: Got error: 2003: Can’t connect to MySQL server on ‘127.0.0.1’ (10061)
操作过程
批处理命令:
@echo off
echo -------------------------
echo mysql backup
echo -------------------------
set “Ymd=%date:,4%%date:5,2%%date:~8,2%”
cd C:\Program Files\MySQL\MySQL Server 5.6\bin
mysqldump -h 127.0.0.1 -u root -ppassword dbName >E:\expo-today_backup\database\txhzwebsite_%Ymd%.sql
cd \
@echo off
rem pause
问题解决
在我本机进行测试的时候批处理可以正确执行,但是放在服务器端就是无法执行,(服务器环境window2003),经过考虑本机的mysql与服务器的mysql区别就是端口不同,本机mysql是默认端口:3306,但是服务器的端口经过修改后变成:33061,于是在这里加上端口号:mysqldump -h 127.0.0.1 -P33061 -u root -ppassword dbName >E:\expo-today_backup\database\txhzwebsite_%Ymd%.sql 注意是大写的P,小写p代表密码,如果不加上端口,在执行的时候读取的是默认端口:3306.加上端口之后问题解决!
解决思路
当然是百度了,本人是要使用mysql的mysqldump备份在Windows server 2003的数据,之前测试其他服务器都管用(包括CentOS),到了Windows server 2003就报此错误,原来端口的写法问题,导致连接不上,其实在百度搜索的时候也是有技巧的,在你搜索问题时一定要加上出现问题的环境,例如搜:Got error: 2003 , 否者搜出来的答案都是说你密码不正确(乖乖的)
本人在原作者文章上添加了些问题解决思路
文章出处:https://blog.youkuaiyun.com/dw_java08/article/details/46940505#commentBox