虽然有类似phpmyadmin这样的图形化工具,但是对于经常性的备份与恢复,这显得没有效率。还是命令行快速和可靠。以下记录数据库备份和恢复中需要使用的命令。
备份数据库,比如my_database,比较简单的备份:
mysqldump -u root -p my_database > my_database.sql
备份的sql文件要压缩成gz格式:
mysqldump -u root -p my_database | gzip > my_database.sql.gz
恢复该数据库,那么可能会使用类似这样通过shell执行mysql命令:
mysql -u root -p -e ‘drop database if exists `my_database`;show databases; ‘
或者可能执行多个脚本,比如有多个sql脚本需要顺序执行:
cat a.sql b.sql | mysql -u root -p
再或者,使用的sql脚本是压缩过的:
gzip < my_database.sql.gz | mysql -u root -p my_database
在恢复时可能需要重建新的数据库,一般需要使用utf-8编码:
CREATE DATABASE my_database CHARACTER SET utf8;