mysql8导入数据慢解决

前提是mysql使用innodb引擎

 

先优化配置文件 :

innodb_buffer_pool_size = 12G
innodb_log_file_size    = 1G #只能修改配置文件 生效
innodb_flush_log_at_trx_commit=2
sync_binlog=100000
max_allowed_packet      = 1G
net_buffer_length       = 1048576 

wait_timeout    = 500
interactive_timeout     = 500
max_connections = 1500

mysqlx=0
skip-log-bin
skip-name-resolve

 

重启服务后使用以下命令导入

mysql -u root -p$pwd --max_allowed_packet=1073741824 --net_buffer_length=1048576 dbname < data.sql

此时对比先前两小时导入2G,现在每秒2M到10M,提升很多

如果不能重启,可以偿试在线修改参数 

set global max_allowed_packet = 1073741824 ;
show global variables like '%pack%';
set global net_buffer_length = 16384000;
show global variables like '%net%';
set GLOBAL innodb_flush_log_at_trx_commit = 0;
set GLOBAL sync_binlog = 0;
show global variables like '%innodb_log_file_size%';  #只能修改配置文件生效

 

posted @ 2022-11-18 12:37  走戏园  阅读(752)  评论(0)    收藏  举报