技术微博 - 2
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术微博 - 2相关的知识,希望对你有一定的参考价值。
。myshard分内外网,连内网的myshard ip,需要授权业务机器内网IP白名单,外网同样的道理
。把SQL语句导入数据库,一定要加-f参数,否则遇到错误就会停止了,正确错误是把错误重定向到日志,mysql -h127.0.0.1 -P3306 -u账号 -p密码 -f < db.sql >> export_error.log 2>&1 &, 不要进入MySQL里面用source,而要在linux做数据的导入,速度差异非常的大
。机房之间网络问题,丢包率高,并不会导致MySQL主从之间丢数据,因为TCP有重传的机制,我传一次丢了,我就传第二次,第三次,传到可以为止。
。每次导数需要多少时间,速度,性能怎么样,每次涉及相关操作都要收集数据,比如rsync数据,大概是100m/s的速度,mysqldump在 5G以下是1分钟1G,在10G的时候是2分钟1G,这些收集起来就是工作经验
。MySQL本来已经有一个3306实例,如果不小心再启动了一次3306的实例,不要去shutdown了,因为有可能会shutdown了正常运行的那个数据库,应该一直等待,MySQL看到实例号冲突会自己shutdown的,两个3306实例的存在只是暂时的
。在告警群,看到很多慢查询告警,当时我打算轮训10几个核心库,查看每个MySQL的慢查询,然后停业务加索引,已经停了好几个核心库都没有见起色,其实告警来来去去就是某个核心库告警,要抓住主要矛盾,改了某个数据库的慢查询,整个告警都清净很多了
。在rds中给分表建索引,比如给一个400张表分表建索引,不要在rds层面加索引,万一加了索引不管用怎么办呢?应该先explain SQL, 看看会落在哪张分表,接着下去rds下mysql具体的分表中加索引,再次explain SQL查看,看看是否有效果,如果有效果,再把分表的索引删掉,然后在RDS上整体加索引
。一条大查询语句,会消耗大量IO资源,会导致该时间点的正常SQL语句,变成慢查询,所以排查慢查询,需要抓那条超大的慢SQL
。如果程序正在占用某个文件,及即使rm -f 了文件,也无法释放空间
。数据库服务器有2个盘,一个是SSD盘,专门放数据,另外一个是SAS盘,用来存放日志,进行load数据的时候,不管是load出来还是load进去,都需要使用SSD盘。另外注意导出数据时要注意空间,否则把分区撑爆从而丢失数据
本文出自 “DBA运维总结” 博客,转载请与作者联系!
以上是关于技术微博 - 2的主要内容,如果未能解决你的问题,请参考以下文章