之前一直没有对数据库的主从做过配置,业务主库挂了一次后手忙脚乱。现整理一下问题的描述以及解决方案。
问题定位:
1)用连接主库,提示too many connections,修改主库最大连接数无效,此时用root帐号能连上主库
2)一段时间后,普通帐号和root帐号均无法连上主库。查看进程,mysql 进程仍然存在
3)关闭mysql进程,重启主库,无法启动
4)查看err.log,提示磁盘已满
主库服务器空间不足,日志把磁盘打满,导致主库无法连接。(需要重视报警邮件)
解决步骤:
一 重启主库
1)查看磁盘空间df -h,将3306文件夹移到磁盘空间较大的分区
2)建立新路径到原路径的软链接
3)重启主库mysql
二 主从同步
1)主库重启后,检查主从是否同步
mysql> show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: No
从库不同步
2)忽略错误,继续同步(此方法适用于主从库数据相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况)
stop slave;
重复执行以下三个步骤:
#表示跳过一步错误,后面的数字可变
set global sql_slave_skip_counter =1;