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
对于差异备份的恢复, 后面需指定数据库名称.