文章目录
- 一、数据备份
- 1. 备份单个数据库
- 2. 备份多个数据库
- 3. 备份所有数据库
- 二、数据还原
- 1. mysql命令
- 2. source命令
在操作数据库时,难免会发生一些意外情况造成数据丢失。为了确保数据的安全,需要定期对数据库中的数据进行备份,这样当遇到数据库中数据丢失或出错的情况时,就可以将数据还原,从而最大限度地降低损失。
一、数据备份
MySQL提供了一个mysqldump命令,它可以将数据库导出成SQL脚本,以实现数据库的备份。
mysqldump命令可以备份单个数据库、多个数据库和所有数据库。
1. 备份单个数据库
mysqldump -uUSERNAME -pPASSWORD db_name [table_name1 [table_name2 ... ]] > filename.sql
- USERNAME:MySQL用户名
- PASSWORD:用户对应的密码。注意,参数p与密码之间不能有空格。出于安全考虑,也可以不在命令中输入密码,而是在执行不带密码的上述命令时输入密码。
- db_name:需要备份的数据库名称
- table_name:数据库中的表名,可以指定一个表或多个表,多个表用空格分隔;如果不指定表名,则备份整个数据库。
- filename.sql:备份文件的名称,文件名前可以加上绝对路径
mysqldump是mysql的bin目录中的工具,使用它备份数据库时,不需要登录MySQL数据库,直接在命令行或终端窗口执行命令即可。
2. 备份多个数据库
mysqldump -uUSERNAME -pPASSWORD --database dbname1 [dbname2 ...] > filename.sql
- --database:该参数指定需要备份的数据库名称,至少指定一个,如果有多个数据库,用空格隔开。
3. 备份所有数据库
mysqldump -uUSERNAME -pPASSWORD --all-databases > filename.sql
如果使用–all-databases参数备份了所有数据库,那么在还原数据库时,不需要创建数据库并指定要操作的数据库。
二、数据还原
1. mysql命令
mysql命令还原数据的语法格式:
mysql -uUSERNAME -pPASSWORD [dbname] < filename.sql
- dbname:要还原的数据库名称。如果备份的filename.sql文件中包含创建数据库的语句,则不需要指定数据库;否则应该指定数据库名称。
2. source命令
source命令还原数据的语法格式:
mysql> source filename.sql
使用mysql命令还原数据时不需要登录数据库,使用source命令还原数据时,需要先登录数据库。