mysql备份和恢复
mysql备份
- 参数说明
--no-create-info, -t #只导出数据,而不添加CREATE TABLE 语句。
--no-data, -d #不导出任何数据,只导出数据库表结构。
--hex-blob #使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用该选项。影响到的字段类型有BINARY、 VARBINARY、BLOB。
--opt #等同于--add-drop-table, --add-locks, --create-options, --quick,--extended-insert, --lock-tables, --set-charset, --disable-keys 该选项默认开启, 可以用--skip-opt禁用.--databases, -B #导出几个数据库。参数后面所有名字参量都被看作数据库名。
--all-databases , -A #导出全部数据库。
--triggers #导出触发器。该选项默认启用,用--skip-triggers禁用它。--default-character-set=utf8 #字符
-R #备份函数和程序
--single-transaction #不锁表,如果锁表会导致线程池满
--set-gtid-purged=off 避免将gtid信息导出
-F #备份时刷新binlog
- 例子
#备份全库
mysqldump -uroot --default-character-set=utf8 -p -R --opt --triggers --hex-blob --single-transaction cssh -S /tmp/my31306.sock > /home/3jia5om/account/hanxiaohui/cssh.sql
#备份指定表
mysqldump -uroot -h 127.0.0.1 -p --default-character-set=utf8 -R --opt --triggers --hex-blob --single-transaction \
test \
yzl_app_image \
yzl_vidio_attach \
yzl_vidio_info \
yzl_app_vidio_info \
> /opt/apps/fabu/20171124/paopao.sql
#备份忽略表
mysqldump -urdsadmin --default-character-set=utf8 -p -R --opt --triggers --hex-blob --single-transaction -h 192.168.1.105 myland --ignore-table=myland.wy2_log --ignore-table=myland.wy2_log_20160918 --ignore-table=myland.wy2_log_20170213 --ignore-table=myland.wy2_log_20170427 --ignore-table=myland.wy2_log_20170612 --ignore-table=myland.wy2_log_20170717 --ignore-table=myland.wy2_log_20170831 --ignore-table=myland.wy2_log_20171010 --ignore-table=myland.wy2_log_20171212 --ignore-table=myland.wy2_log_20180115 --ignore-table=myland.wy2_log_20180306 --ignore-table=myland.wy2_log_20180412 --ignore-table=myland.wy2_log_20180613 --ignore-table=myland.wy2_log_20180726 >D:\myland_20181010.sql
#只导出表结构
mysqldump --opt -d 数据库名 -u root -p > xxx.sql
#只导出数据
mysqldump -t 数据库名 -uroot -p > xxx.sql
mysql恢复
- 例子 -f参数可以跳过错误,继续导入后面的数据,不建议采用
mysql -uroot --default-character-set=utf8 -psan3 discuz < /data/discuz.sql(指定字符集恢复)