MySQL数据库本身提供了mysqldump命令来备份数据。当然我们也可以使用其他的工具诸如phpMysqlAdmin来备份MySQL数据库,不过在备份庞大的数据时有可能产生数据损坏,毕竟基于http协议的传输是有一定的误码率的。本人没有过多的研究过,所以此处不好下结论,也不好妄自揣测,只能使用我自己能够掌握的命令来备份数据。mysqldump命令的原型如下:
mysql> mysqldump [options] db_name [tables] 备份某个数据库或具体到某个数据表
mysql> mysqldump [options] --databases db1 [db2 db3 ..] 备份多个数据库
mysql> mysqldump [options] --all-databases 备份所有的数据库
当我们备份具体的数据库或数据表时会用到第一条命令选项,具体到数据库名称或者数据表的名称。例如备份test数据库可以使用下面的命令,mysqldump -u root -p test > bak.sql。备份test数据库里的test1数据表则可使用如下的命令,mysqldump -u root -p test.test1 > test_test1bak.sql。>后面可以跟随你想要备份输出的任何路径,一般都使用绝对路径,这样处理起来比较方便,例如输出到E盘:mysqldump -u root -p test > E:\bak.sql。
备份多个数据库可以使用第二条命令选项,--databases选项后面跟随需要备份的数据库名称。例如备份wordpress和test数据库则可使用如下的命令,mysqldump -u root -p --databases wordpress test > bak.sql。
需要备份所有的数据库是则可以使用第三条命令了,只要使用--all-databases选项就可以。
“天有不测风云,人有旦夕祸福”。当真的遇到数据库挂掉的时候,不要沮丧,这时我们可以把备份的数据库来恢复到先前的数据了,最重要的是我们可以从中学到很多的知识。恢复数据库则可以使用MySQL提供的mysql命令了,例如mysql> mysql -u root -p < bak.sql。或者恢复到新建立的数据库mysql> mysql -u root -p newdatabase < bak.sql。