网站建设知识
MYSQL学习篇之002-mysql5.6.34备份与恢复学习
2025-07-22 11:15  点击:0
MYSQL学习篇之002-mysql5.6.34备份与恢复学习。
1 参考相关章节
1.1 备份 mysqldump, mysqlhotcopy 详细命令参考 Chapter 4, MySQL Programs.
1.2 InnoDB备份过程参考 Section 14.18, “InnoDB Backup and Recovery”.

2 备份类型比较
2.1 物理备份
2.1.1 可以通过复制数据文件的方式,主要是DATA/下面的文件与MY.CNF备置文件。
2.1.2 备份工具,对于 InnoDB 使用mysqlbackup,对于MyISAM使用 mysqlhotcopy
2.1.3 适用场景:数据量大,可以停止数据库写入操作。
2.2 逻辑备份
2.2.1 通过获得数据库结构与内容备份。
2.2.2 备份工具 mysqldump 与语句 select ... into outfile

3 备份与恢复一个表的数据
3.1
sql> select * from t_b_task into outfile '/tmp/t_b_task.sql';
删除表中内容
sql> truncate table t_b_task;
恢复表中数据
sql> load data infile '/tmp/t_b_task.sql' into table t_b_task;
# mysqlimport fserpadmin '/tmp/t_b_task.sql' -uroot -p --socket='/tmp/mysql2.sock' --port=3307

3.2 备份与恢复一个数据库的数据,重新命名数据库名称
3.2.1 备份
# mysqldump -uroot -p fserpadmin > /tmp/fserpadmin.sql
3.2.2 创建数据库
sql> create database fserpadmin_new ;
3.2.3 恢复数据库
# mysql -u root -p --database fserpadmin_new < /tmp/fserpadmin.sql

3.3 备份与恢复所有数据库
mysqldump -uroot -p --single-transaction --all-databases > back_cuigh.sql
mysqldump -uroot -p --single-transaction --all-databases > /tmp/bak/yimu.sql

mysqldump -uroot -p --single-transaction --flush-logs --master-data=2 --all-databases > backup_sunday_1_PM-3.sql

--add-drop-database
mysqldump -uroot -p --single-transaction --flush-logs --master-data=2 --all-databases --add-drop-database> backup_tab-1.sql
mysqldump -uroot -p --single-transaction --flush-logs --master-data=2 --all-databases --add-drop-database> backup_tab-2.sql

4 采用二进制日志方式运行数据库
1 启动时指定
shell> mysqld_safe --gtid_mode=ON --log-bin --log-slave-updates --enforce-gtid-consistency &
2 在配置文件中指定
vi /etc/my.cnf 增加 log-bin=mysql-bin
[mysqld]
log-bin=mysql-bin