我正在安装mysql 8.0,并在master-master配置的2个服务器之间进行复制。在将数据从服务器A复制到服务器B时,复制停滞了数小时。以下是服务器B上show slave status \G
的代码段。
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 49808
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_Info_File: mysql.slave_master_info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: waiting for handler commit
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
执行show processlist;
之后,我得到一个等待时间很长的进程,等待时间为50071,并且不断增加
system user | | NULL | Query | 50071 | waiting for handler commit
我应该采取什么步骤使复制步入正轨?
答案 0 :(得分:0)
有同样的问题。添加:
innodb_flush_log_at_trx_commit = 2
为我解决了MySQL 8.0.13安装上的问题。 在这里阅读:https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit
另请参阅:https://dba.stackexchange.com/questions/232365/mysql-8-0-updates-are-sometimes-stalling