日期:2014-05-16  浏览次数:20774 次

MYSQL数据备份与恢复的相关操作命令

 

将mysql安装目录设置到系统环境变量中,  方便在命令行终端直接执行.

linux下mysql安装后, root默认密码为空,  可直接执行mysql 登录.

正常登录命令mysql -h主机地址 -u用户名 -p密码

注意, 不需加空格, 如果是直接登录本机的mysql, 可以不用加-h参数.

 

数据库的备份与恢复:

1. 仅备份数据库结构:

mysqldump -h127.0.0.1 -uroot -p654321 --default-character-set=utf8 --no-data --databases  --add-drop-table  -R --result-file="c:/bak.sql"  test

说明: -R是代表备份存储过程或函数, 但视图不受此控制.

-result-file 指定备份文件路径: windows下需加盘符, linux下输入完整目录名.

 test 代表的是要备份的数据库名称

 

2. 备份结构和数据(全备份):

mysqldump -h127.0.0.1 -uroot -p654321 --default-character-set=utf8 --databases  --add-drop-table  -R --result-file="c:/bak.sql" test

说明: 如果要防止在备份期间操作的数据不流失,  增加参数--lock-all-tables=true 锁定整个表

 

3. 仅备份部分数据(差异备份)

mysqldump -h127.0.0.1 -uroot -p654321 --default-character-set=utf8 test t_table1 t_table2 t_table3  --no-create-info  --result-file="c:/bak.sql"

说明:  --no-create-info  不要增加创建表语句, 这样可以防止原有数据的丢失, 可以把备份的数据追加至数据库中.

如果要覆盖原有数据, 加上--replace参数

 

4. 数据库恢复

mysql -127.0.0.1 -uroot -p654321 --comment < c:/bak.sql

一般恢复, 都没加上--comment 参数,  这样会丢失存储过程中的注释, 建议加上.

 

mysql -127.0.0.1 -uroot -p654321 --comment test < c:/bak.sql

对于差异备份的恢复, 后面需指定数据库名称.