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

2014-11-24 18:17:08 · 作者: · 浏览: 0

将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


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