这里指的大是 100G+ 以上的。普通的耐心等待恢复就是了。几百 G 的 sql 备份文件不建议使用 Mobxterm,或者 Xshell 之类的传送,总会出现莫名其妙的问题,建议使用原生的 scp 命令来传送。scp
命令是用于在 Linux 和 Unix 操作系统之间安全地复制文件和目录的命令。具体的 scp 复制命令可以查看这篇文章:https://bmzhp.com/knowledge/174.html
sql 文件复制到 Linux 服务器后,要优化 MySQL 以加快恢复备份的速度,可以采用以下策略:
1. 调整缓冲池
MySQL 会使用内存缓存查询和表数据以减少磁盘 I/O 操作。如果您有更多可用的内存,可以适当增加下列缓冲池参数:
innodb_buffer_pool_size
:如果使用 InnoDB 存储引擎,则可以考虑将此参数设置为您可用内存的 70% 至 80%。key_buffer_size
:如果您使用的是 MyISAM 存储引擎,则考虑适当增加此参数以提高性能。
2. 启用批处理模式
MySQL 支持使用批处理模式进行导入,以加快 SQL 文件的导入速度。为此,您需要在导入 SQL 文件时使用以下命令:
|
|
其中,--default-character-set=utf8
可根据您 SQL 文件的字符集来进行调整。此外,您还可以使用以下选项启用批处理模式:
|
|
在上述命令中,max_allowed_packet
指定了 MySQL 数据包的最大大小,net_buffer_length
则指定了 MySQL 网络缓冲区的大小。这些参数都可以根据您的硬件资源进行调整,以提高导入速度。
3. 禁用日志
MySQL 在执行 SQL 文件时会将每个语句都记录到二进制日志中,以便进行备份和恢复。但是,如果您不需要二进制日志,则可以禁用它以加快导入速度。为此,请在 MySQL 配置文件中添加以下行:
|
|
4. 禁用外键约束
MySQL 在执行 SQL 文件时也会验证外键约束,以确保数据的一致性。但是,如果您的 SQL 文件已经满足了外键约束,则可以禁用此功能以加速导入速度。为此,请在 SQL 文件开头添加以下语句:
|
|
然后,在 SQL 文件结尾添加以下语句:
|
|
这样就可以暂时禁用外键约束,然后再重新启用它。
最后,请确保您的 MySQL 版本已经更新到最新版本,并且已经应用了所有必要的安全补丁和修复程序。这样可以确保您的 MySQL 数据库是高效、安全和稳定的。