导航

备份MySQL数据库

Posted on 2017-08-16 11:03  公正之锤  阅读(156)  评论(0编辑  收藏  举报

使用MySQlDump来备份数据库

mysqldump -u root -p --databases db |gzip > db.sql.gz

无密码使用

上面的语句需要在命令行里输入密码,略麻烦。可以在用户根目录下建立.my.cnf文件,保存MySQLDump的用户名和密码,这样就可以免用户名密码在命令行里执行了。

[mysqldump]
user=你的用户名
password=你的密码

为了安全起见,可以把这个文件修改权限,只能你自己用

chmod 600 ~/.my.cnf

提示错误1044

1044的错误提示说得很清楚:Access denied for user '你的用户'@'localhost' to database '你的数据库' when using LOCK TABLES。就是说没有锁表权限,可以用以下语句解决

mysql -u root -p
mysql> GRANT LOCK TABLES ON DBNAME.* TO 'username'@'localhost';

先进入MySQL,然后给用户设置数据库的LOCK TABLES权限

参考文章:7.4 Using mysqldump for Backups