使用mysqldump备份和恢复MySQL数据库

mysqldump是一个简单而有效的MySQL数据库备份恢复工具。它使用DROP tableCREATE tableinsert into的方式,使用*.sql文件来备份和恢复数据库。

简单的方法就是:

backup: # mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql

restore:# mysql -u root -p[root_password] [database_name] < dumpfilename.sql

备份MySQL数据库

  • 备份单一数据库:

 mysqldump -u root -ptmppassword sugarcrm > sugarcrm.sql

# mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
  • 备份多个数据库

如果需要备份多个数据库,首先需要知道哪些数据库需要备份,可以通过show databases检查。

假设需要同时备份sugarcrmbugs数据库

# 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数据库

  • 恢复一个数据库

# 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之前是两个-

参考

Last updated