一、数据库的备份
mysqldump  [options]  databse  [tables] > filname;

备份单个表

  • 使用root用户备份test数据库下的table1表,备份文件名为backups.sql
mysqldump -u root -p test table1 > backups.sql

备份多个表

  •  使用root用户备份test数据库下的table1、table2、table3表,备份文件名为backups2.sql
mysqldump -u root -p test table1 table2 table3 > backups2.sql

只导出表结构,不导出数据(-d选项)

mysqldump -uroot -p -d table1 > table1.sql

备份单个数据库(--databases选项)

  • 使用root用户备份base1数据库,备份文件名为backups3.sql
mysqldump -u root -p --databases base1 > backups3.sql

备份多个数据库(--databases选项)

  • 使用root用户备份base1、base2、base3数据库,备份文件名为backups4.sql
mysqldump -u root -p --databases base1 base2 base3 > backups4.sql

备份所有数据库(--all-databases选项)

  • 下面将所有数据库备份到.sql文件中
mysqldump -uroot -p --all-databases > all-$DAY.sql

备注

  • 使用mysqldump时还可以指定MySQL服务器IP和密码
mysqldump -hlocalhost -u root -p密码  mysql_text customers > file.sql

刷新未写数据

  • 为了保证所有数据被写到磁盘(包括索引数据),可能需要在进行备份前使用flush tables语句
二、数据库的还原
mysql -u root -p [base] < backups.sql  //未进入数据库的方法

source backups.sql  //进入数据库的方法

例如

  • 还原backups1.sql文件中的数据库文件
mysql -u root -p < ./backups1.sql