我们大概在上周,迁移了数据库到新的服务器上,以改善性能。
然后顺便将 MariaDB 也更新到了最新的稳定版本。
然后,挖了一个坑,导致了刚刚大约 5 分钟的服务中断,深表歉意。
故障的起因是迁移到新版本后,旧的数据库表结构不兼容造成的,会写入大量错误日志。
Incorrect definition of table mysql.column_stats: expected column 'hist_type'...
但是这并不会导致无法启动,由于新机器性能够强,速度完全不受到影响,因此也发现不了端倪,直到磁盘写满,导致数据库崩溃。
在数据库崩溃的第一时间我们就收到了监控警报,然后迅速定位到了磁盘写满的问题。
要解决这个问题很简单,运行数据库升级程序就可以。
mysql_upgrade -u root -p