用mysqldump远程备份mysql数据库
一、前言
mysqldump是备份mysql数据库的一种好工具。它相对于用phpmyadmin等备份工具更加快速,又避免受php.ini等的限制,在windows系统下还可以结合计划任务实现定时远程备份数据库。操作用mysqldump备份数据库的用户需要的权限比较小,只需要select和lock table的权限就足够了。所以可以创建一个备份数据库的用户,专门用于备份数据库,这样可以避免数据库受到意外的破坏。
二、备份
在备份数据库之前我们要做足准备功夫,首先创建了执行备份操作的数据库用户——backup,密码为:123456。其次,确定我们要备份哪个数据库,放在哪里。然后,确定数据库的备份文件要放到哪里。
示例:备份服务器192.168.1.2上的名为backup_test的数据库
1、创建备份文件存放的目录
D:\bak\
2、输入cmd的命令并进入到MySQL的bin目录,然后执行以下命令
mysqldump -ubackup -p123456 -h 192.168.1.2 backup_test > D:\bak\bakcup.sql
在这段命令中:
mysqldump 是myqldump的程序名了;
-u 是数据库的用户名,后面紧跟着用户名backup;
-p 是数据库的密码,后面同样紧跟着密码,注意是-p和密码之间不能有空格;
-h 是数据库的地址,如果没有此项表明是备份本地的数据库;
-backup_test 要备份的数据库名称;
-> 表明该数据库备份到后面的文件,紧跟当然是备份文件的地址了,注意要用绝对文件路径,文件的后缀也可以用.txt。
一旦执行该命令后,mysqldump立即执行备份操作。
在windows下用mysqldump备份数据库,因为没有gzip的压缩引擎,因此不能对备份数据库进行压缩,因此如果备份文件多了要经常清理过期的数据库备份文件。
如果给出的信息室1044,则表示你没有足够的权限来备份服务器上的数据库。
三、恢复备份
使用如下命令恢复备份:
<span style="color:#FF0000;">mysqladmin create target_db_name
mysql target_db_name < backup-file.sql</span>