【发布时间】:2018-05-22 11:24:09
【问题描述】:
我们有一个主数据库服务器和两个 VIP 从数据库服务器。我们将列的数据类型从 VARCHAR(255) 更改为 master 上的 TEXT。 该应用程序当前配置为仅将主设备用于写入操作,并将配置的从设备用于读取操作。 使用 ALTER TABLE 命令更改主服务器上的数据类型后,从服务器变得无响应。 我们正在使用 Mariadb 10.0 [流程信息]
Id User Host Db Command Time(sec) 状态信息 -------------------------------------------------- --------------------- 203739 repl slave1 Binlog Dump 75,143,121 Master已将所有binlog发送到slave;等待更新binlog 203740 repl slave2 Binlog Dump 75,143,121 Master已将所有binlog发送到slave;等待更新binlog从属实例由于查询缓慢而变得非常慢。 会话数:1590 thread_pool_max_thread=500 当前值=648
在主服务器上执行 ALTER TABLE 后,它正在复制到从服务器,同时从服务器上的会话数迅速增加。 我认为 slaves 变得没有响应是因为查询速度慢。
但我不知道为什么这个查询变得如此缓慢并且奴隶没有响应。 DBA 说执行 ANALYZE TABLE 命令后,问题已解决。 但我不明白为什么会这样,因为 ANALYZE TABLE 只更新统计信息。 如果有人对此发表评论会有所帮助,为什么会这样? 以后如何避免此类问题。
【问题讨论】: