点击上方「蓝字」关注我们
使用MySQL备份工具mysqldump备份:
用时898秒,速度提升了4-5倍。
Measure-Command {...}:是PowerShell的语法,用于测量大括号{ }中脚本块的执行时间;
mysqldump -u root -p:是mysqldump命令的基本语法,-u指定用户名,-p表示需要输入密码;
--single-transaction:是确保在备份过程中使用事务来保证数据的一致性,适合InnoDB表;
--quick:是让mysqldump逐行读取数据,而不是一次性加载整个表到内存中,适合大表备份;
--default-character-set=utf8mb4:是指定备份文件的字符集为utf8mb4,确保支持所有Unicode字符(包括表情符号)。
使用mydumper和myloader命令备份
使用mydumper和myloader,mydumper是一个多线程备份工具,会并行处理表的备份,非常合适大型数据库的备份,还原使用myloader:
优化MySQL配置
3.1增加innodb_buffer_pool_size,innodb_buffer_pool_size是InnoDB存储引擎用于缓存数据和索引的内存池,增大这个值可以减少磁盘I/O操作的次数,提高备份和恢复速度。
调整innodb_buffer_pool_size的大小时,要根据自己系统的内存大小调整,一般不超过系统内存的60%-80%,具体值根据实际工作负载优化。
3.2增加max_allowed_packet,max_allowed_packet控制MySQL能处理的最大数据包大小。对于大的BLOB数据,增大该值有助于提高备份和还原时的效率。
在使用mysqldump或mydumper备份数据库时,如果表中有大字段(如blob或text),可能会生成较大的数据包。如果max_allowed_packet设置过小,备份过程可能会失败。
分表备份
对于非常大的表可以根据时间段拆分数据并进行分表,这样每个表中的数据量相对较小,备份和恢复都更高效。
压缩备份文件
大文件的备份和还原会占用大量磁盘空间并增加I/O操作。通过对备份文件进行压缩,可以显著减少磁盘I/O和存储空间需求。
如果是windows系统,可以安装Cygwin或Git Bash,这些工具通常包含gzip。
使用mysql命令行工具直接还原
分批次恢复
如果备份文件非常大,可以将sql文件拆分成多个小文件(按行或按大小拆分),逐步恢复。
按大小拆分:split -b 300M /E/Backups/hld_2.sql /E/Backups/hld_2_part_
按行拆分:split -l 1000 /E/Backups/hld_2.sql /E/Backups/hld_2_part_
最好是按行拆分,按大小拆分后还原时截取位置会报错。
如你遇到类似数据库问题,请致电我司!
点个在看 你最好看
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...