在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一、生产环境MySQL死锁如何监控及如何减少死锁发生的概率 首先,死锁并不是"锁死",死锁是由于两个或两个以上会话锁等待产生回路造成。 (一)死锁监控及处理方法 对于死锁的监控,各个版本都提供了innodb_print_all_deadlocks选项,打开该选项即会将死锁的日志输出到MySQL的错误日志当中,因此可以通过监控错误日志来达到监控死锁的目的。而对于MariaDB就更加简单了,MariaDB提供了Innodb_deadlocks的计数器,可以通过监控该计数器的增长来监控是否存在发生死锁。 (二)如何降低死锁发生的概率 1、尽量使用短小事务,避免大事务 二、MongoDB有哪些优秀特性及适合的场景是什么 (一)优秀特性 1、实用性:面向类json富文档数据模型,对开发人员天然的友好 (二)适合的场景 1、无多文档事务及多表关联查询需求 三、GO语言对比其他的编程语言有何优势?实际生产环境如何取舍? 1、天生支持高并发,强一致语言,开发效率高兼具线上运行稳定安全 在实际生产环境中建议从如下几个方面考虑: 1、看业务场景,电商,大数据处理有现成的解决方案,不适合用。另外数学运算,cpu 密集型的也不用。 四、一个大事务,有很多更新,现在被回滚了,但是又着急关机重启,怎么办才好? 1、首先,尽量避免在MySQL中执行大事务,因为大事务将会带来主从复制延迟等问题 PS, kill -9是高危操作,可能导致MySQL无法启动等不可预知的问题,请谨慎使用 五、如何降低UPDATE/DELETE时WHERE条件写错,或者压根没写WHERE条件带来的影响 1、尽量不要在线手工执行任何SQL命令,很容易出差错。线上直接执行SQL命令最好有第二检查人帮助确认 六、MySQL如何控制用户输错密码尝试次数? (一)插件辅助 从官方MySQL5.7.17开始,提供了CONNECTION_CONTROL和CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS插件,该插件又提供了connection_control_failed_connections_threshold、connection_control_min_connection_delay、connection_control_max_connection_delay三个参数 1、connection_control_failed_connections_threshold 该参数的含义是控制登陆失败多少次数后开启延迟登陆 2、connectioncontrolminconnectiondelay 该参数分别表示超过失败次数后每次重新连接最小的延迟时间,延迟计算公式为(当前失败总次数-失败阈 3、connection_control_max_connection_delay 最大延迟时间,超过该值后客户端可重新连接 4、安装插件后,可通过监控Connection_control_delay_generated状态值和INFORMATION_SCHEMA下的表 CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS来监控错误登录尝试次数 (二)错误日志监控 通过定时扫描MySQL错误日志来捕获账号密码错误次数,达到某个阈值以后可在系统防火墙屏蔽对应的主机ip达到屏蔽账号的目的(具体操作视情况而定) (三)其他说明 1、有些同学会误以为max_connection_errors能够控制错误密码的尝试次数,其实该参数只能防止如telnet类的端口探测,即记录协议握手错误的次数 2、最后,在生产环境一定要关注aborted_clients和aborted_connects的状态,发生异常必须及时关注 总结 以上所述是小编给大家介绍的MySQL控制用户输错密码尝试次数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对极客世界网站的支持! |
请发表评论