大牛?无他,唯手熟尔!

mysqldump备份报-bash: c89#64: command not found之解决

2016-08-20 13:40:03来源:caogenjava阅读[748]评论[0]
摘要:今天使用mysqldump备份数据库的时候遇到了一个奇怪的错误:​-bash: c89#64: command not found。从错误提示看是没有找到命令,这种情况一般是你的环境变量没有配好导致mysqldump命令没找到,但是我确信我的环境变量是ok的,直接输入mysqldump回车有帮助提示,所以绝不是环境变量的问题。经过一番查找,终于发现了问题所在:密码中存在特殊字符!

本文由草根java提供,转载请注明出处https://www.caogenjava.com/detail/83.html

今天使用mysqldump备份数据库的时候遇到了一个奇怪的错误:-bash: c89#64: command not found。从错误提示看是没有找到命令,这种情况一般是你的环境变量没有配好导致mysqldump命令没找到,但是我确信我的环境变量是ok的,直接输入mysqldump回车有帮助提示,所以绝不是环境变量的问题。经过一番查找,终于发现了问题所在:密码中存在特殊字符

没错,根本原因就是mysql密码中存在特殊字符,现在个人已知的特殊字符有!&两个。处理这种情况也很简单,以下是两种办法:

1.对特殊字符进行转义,如123\!\
2.将整个密码用单引号引起来,如'123!'

从使用易用性上讲,还是后者更简单一些,因为我无需关心哪些是特殊字符,整一个引起来就完了。

mysqldump -h127.0.0.1 -P3306 -uroot -p'123456!&' caogenjava | gzip > /usr/backup/caogenjava_2016-08-20_09-26-54.sql.gz

所以以后大家在使用mysqldump命令的时候,对于密码最好加上单引号,不管你的密码中是否包含特殊字符,因为这种写法更健壮,方便养成良好的书写习惯。


除非注明,文章均为草根java原创,转载请注明本文地址: https://www.caogenjava.com/detail/83.html

上一篇:IE中输入地址回车后无反应,菜单变灰色之解决        下一篇:java中无法删除cookie之解决
网友评论,共0 发表评论
昵称:
评论:
验证码: 刷新验证码