mysqldump 工具备份

备份整个数据库

$> mysqldump -u root -h host -p dbname > backdb.sql

备份数据库中的某个表

$> mysqldump -u root -h host -p dbname tbname1, tbname2 > backdb.sql

备份多个数据库

$> mysqldump -u root -h host -p --databases dbname1, dbname2 > backdb.sql

备份系统中所有数据库

$> mysqldump -u root -h host -p --all-databases > backdb.sql

直接复制整个数据库目录 (对于 InnoDB 存储引擎不适用) 备份

windowns: installpath/mysql/data

linux: /var/lib/mysql

在复制前需要先执行如下命令:

MYSQL> LOCK TABLES;
# 在复制过程中允许客户继续查询表,
MYSQL> FLUSH TABLES;
# 将激活的索引页写入硬盘。

mysqlhotcopy 工具备份

备份数据库或表最快的途径,只能运行在数据库目录所在的机器上,并且只能备份 MyISAM 类型的表。

要使用该备份方法必须可以访问备份的表文件。

$> mysqlhotcopy -u root -p dbname /path/to/new_directory;
#将数据库复制到new_directory目录。

mysql 命令导入 sql 文件还原