mysqldump
是一个简单而有效的MySQL数据库备份恢复工具。它使用DROP table
,CREATE table
和insert into
的方式,使用*.sql
文件来备份和恢复数据库。
简单的方法就是:
backup: # mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
restore:# mysql -u root -p[root_password] [database_name] < dumpfilename.sql
- 备份单一数据库:
mysqldump -u root -ptmppassword sugarcrm > sugarcrm.sql
# mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
- 备份多个数据库
如果需要备份多个数据库,首先需要知道哪些数据库需要备份,可以通过show databases
检查。
假设需要同时备份sugarcrm
和bugs
数据库
# mysqldump -u root -ptmppassword --databases bugs sugarcrm > bugs_sugarcrm.sql
- 备份所有数据库
# mysqldump -u root -ptmppassword --all-databases > /tmp/all-database.sql
- 只备份一个指定表格
举例:备份sugarcrm
数据库的accouts_contacts
表格
# mysqldump -u root -ptmppassword sugarcrm accounts_contacts \
> /tmp/sugarcrm_accounts_contacts.sql
- 恢复一个数据库
# mysql -u root -ptmppassword
mysql> create database sugarcrm;
Query OK, 1 row affected (0.02 sec)
# mysql -u root -ptmppassword sugarcrm < /tmp/sugarcrm.sql
# mysql -u root -p[root_password] [database_name] < dumpfilename.sql
- 备份一个本地数据库并恢复到远程服务器的单一命令:
[local-server]# mysqldump -u root -ptmppassword sugarcrm | mysql \
-u root -ptmppassword --host=remote-server -C sugarcrm1
注意:在
host
之前是两个-
号