mysqldump工具是mysql自带的一个非常方便的一款小工具,存在mysql安装目录的/usr/local/mysql/bin (CentOS)是下。
mysqldump 和 mysql一样,都是应用程序,你在mysql下是执行不了的。切记 ,输入 mysqldump –help 可查年相关信息。mysqldump可以任何目录下直接执行。
用 mysqldump 备份数据库的两种方式
用 mysqldump 备份数据库一般有以下两种方式:
1. 手动输入数据库帐号密码的方式
mysqldump -u 用户名 -p 数据库名 > (目录)导出文件名
如:mysqldump -u root -p dbname > /var/www/bat/nowamagic.sql 回车,会提示输入root用户的密码,正确输入后。回车,就完成备份。生成的备份文件 nowamagic.sql 没加目录(/var/www/bat/)那就在命令当前目录(用pwd查看当前路径),有加目录/var/www/bat/就在/var/www/bat/nowamagic.sql.
2. 把数据库帐号密码写入语句中的方式
mysqldump -u用户 -p密码 数据库名 > (目录)导出文件名
如:mysqldump -uroot -p123 dbname > /var/www/bat/nowamagic.sql 回车就直接完成备份。
注意:方式1与方式2是有点区别的。方式1里-u 用户名root之间要空格隔开,要手动输入密码。-p 后面不能空格后带密码,不然会把密码当成数据库名来执行。由此可变出新格式:mysqldump -u 用户名 -p123 数据库名 > (目录)导出文件名,即把-p后面的空格直接去掉。
综上,-u 用户名 ,可隔开,也可不隔开。效果一样。但-p 密码之间有没有空格隔开效果不一样。只有没空格的情况下,才能直接执行,不然要手动输入密码。
备份单个数据表
有时候数据库很大很大,整个库备份就不好管理,那就单独备份。
mysqldump -uroot -p123 dbname tablename > /var/www/bat/tb.sql
备份多个数据表
例如备份WordPress数据库的wp_posts表和wp_options表到wordpress_1.sql:
mysqldump -u root -p wordpress wp_posts wp_options > wordpress_1.sql
mysqldump 远程备份
mysqldump -h ip -uroot -p123 database > c:nowamagic.sql
mysqldump 还有各种用法,这里就不深究……只记录下做备份的方法。