记一次 mysqldump 备份数据库

这几天公司的一个网站交易了,昨天客户让给它数据库作一下备份,本想用mysqldump就完事了,没想到赶上一些问题,如下记录了遇到的问题和解决方法。html

在linux 命令行下执行mysql

mysqldump -h127.0.0.1 -uroot -p密码  数据库  > /data/backup/xxx.sql

结果报错:linux

Warning: Using a password on the command line interface can be insecure.

   缘由是mysql5.6及以上版本不建议在命令行中输入密码? 那怎么解决呢? 百度来的方法说 修改mysql配置文件my.cnf添加 sql

重启mysql,而后执行数据库

mysqldump --defaults-extra-file=/etc/my.cnf database > database.sql

没想到又报错了0.0。api

Getting mysqldump: got error: 1045: access denied for user 'dev'@'localhost' (using password: YES) when deploying from capistrano task

后来在 stackoverflow 网站上找到一篇相关文章,给出说法是密码中若是有特殊字符须要加反斜杠,但我试一下并无做用(有待继续验证)。 那怎么办? 只能跳过帐号密码验证了。打开my.cnf 在[mysqld]这个条目下加入skip-grant-tables ,重启mysql,再执行网站

mysqldump --defaults-extra-file=/etc/my.cnf database > database.sql

能够导出来。命令行

  导出完毕后别忘了去掉my.cnf 中的skip-grant-tables,并重启mysqlcode

参考网站:htm

  1. http://www.laozuo.org/6799.html 解决MySQL5.6出现"Using a password on the command line interface..."
  2. https://stackoverflow.com/questions/15424911/getting-mysqldump-got-error-1045-access-denied-for-user-devlocalhost-us Getting mysqldump: got error: 1045: access denied for user 'dev'@'localhost' (using password: YES) when deploying from capistrano task
相关文章
相关标签/搜索