修改配置nginx,限制无良爬虫频率

#全局配置
limit_req_zone $anti_spider zone=anti_spider:10m rate=15r/m;

#某个server中
 limit_req zone=anti_spider burst=30 nodelay;
 if ($http_user_agent ~* "xxspider|xxbot") {
 set $anti_spider $http_user_agent;
}

超过设置的限定频率,就会给spider一个503。
上述配置详细解释请自行google下,具体的spider/bot名称请自定义。

技术相关: 

[MySQL FAQ]系列 -- utf8表存储latin1乱码字符转换

线上有个数据表,字符集是utf8,但由于环境不统一的原因,导致实际上数据表存储的内容是latin1内码的数据。
也就是说,借着utf8的壳子,实际存储着latin1字符集的数据。
在这种情况下,需要注意几个字符集配置:

  • 客户端终端工具(SecureCRT)的显示字符集设置为:utf-8,
  • Linux终端(TERM)下,设置LANG环境变量为:en_US.UTF-8,或者zh_CN.UTF-8,
  • 连接到MySQL后,设置client/connect字符集为:latin1 (set names latin1)。

完成上述设置后,在Linux命令行的mysql cli客户端中才能正常显示中文。
为了统一,需要将这些数据的内码也转成utf8才行,可以按以下几个步骤完成:

技术相关: 

[代发]115网盘&美团急招MySQL DBA

职位一:115网盘 MySQL DBA:
1. 2年以上MySQL DBA工作经验
2. 熟悉Innodb、MyISAM、Heap等多种数据库引擎,熟悉Memcached、Redis等Key-Value数据库
3. 熟悉MySQL主从复制、主主复制,擅长数据库架构设计
4. 能设计良好的表结构,擅长索引优化
5. 熟悉Linux c/c++网络编程,熟悉perl/php/python/bash一种或多种脚本语言
6. 擅长Sphinx,熟悉中文搜索者优先
7. 有跨机房动态数据同步经验者优先

工作职责:
负责115网盘数据库管理、数据库优化

工作地点:
广东东莞

大致薪资范围:15k+

职位二:
美团招聘高级DBA
工作地点:北京
薪资范围:差不多20K左右,如果优秀的话 可以再沟通。

工作职责:
负责数据库的日常运维,保障24×7稳定运行;
负责数据库的性能优化,并推动解决问题;
负责数据库的监控系统设计,为开发团队提供平台支持。

CentOS 6.3下nginx、php-fpm、drupal快速部署

一切本着从简原则来做,能yum/rpm的,坚决不手工编译 :)
本次部署环境基于CentOS 6.3 x86_64系统。
0. 准备工作

#更新yum
[root@imysql ~]# yum -y update
[root@imysql ~]# yum install libaio-devel.x86_64
#drupal 8.0需要用到curl模块
[root@imysql ~]# yum install curl-devel
[root@imysql ~]# yum -y install libpng-devel libjpeg-devel freetype-devel gmp-devel libxml2-devel

[代发]奇艺急招MySQL/ORACLE DBA

爱奇艺(iQIYI.COM),原名奇艺,中国第一影视门户。作为国内领先的网络视频播放平台,爱奇艺由全球最大的中文搜索引擎——百度创立,是国内首家专注于提供免费、高清网络视频服务的大型专业网站。

工作地点:北京海淀区海淀北一街2号鸿城拓展大厦11层

工作职责:
-带领数据库运维小组维护数据库的正常运行和应急响应
-制定和改进应急预案、策略和流程,提高服务运行质量
-配合相关部门完善服务运维体系 ,制定和改进应急预案、策略
-负责团队管理和员工培养,制定部门工作规划,负责相关部门进行沟通与协作
职位要求:
-熟悉MySQL或Oracle数据库的运行机制和体系架构
-精通/熟悉SQL,精通数据库设计
-熟悉Linux/Unix操作系统,具有良好的Shell/Perl编程能力
-抗压能力强,有强烈的责任心,良好的沟通能力
-有专职DBA工作经验优先

有意者请和我联系。

大分区使用xfs文件系统存储备份遇到的问题

日前,同事反馈一个问题:在一个大分区(24T)中使用xfs文件系统,用来做历史文件备份,突然提示没有磁盘空间错误,先检查下:

[root@imysql ~]# df -hT
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sdb1      xfs     19T   16T  2.4T  88% /backup

[root@imysql ~]# df -hi
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sdb1               9.3G    3.4M    9.3G    1% /backup

可以看到,不管是物理空间,还是inode,都还有很多余量,那为何还会报告磁盘空间不够呢?
查询了下XFS FAQ,发现有一段:

技术相关: 

IBM服务器硬盘出现Other Error可能原因

除了确实物理等因素外,可能还因为:

Other Errors的 很有可能也是固件(firmware)版本太低造成。
固件版本太低的话,硬盘自身有power safe模式,在硬盘长时间没有I/O情况下,硬盘会自动断电,而系统本身误以为是硬盘出现故障,此时Other Errors 就会+1

解决方法:
升级硬盘的firmware即可。

[MySQL FAQ]系列 -- mysqldump选项之skip-opt

最近在用mysqldump备份时,想要把数据表和数据分开备份,因此做了2次备份。
执行备份数据库表结构时,指定了 --skip-opt 选项,相当于:

--add-drop-table, --add-locks,
--create-options, --quick, --extended-insert,
--lock-tables, --set-charset, and --disable-keys

选项 --create-option 看起来比较不起眼:

  -a, --create-options 
      Include all MySQL specific create options.

事实上,如果把它disable的话,备份出来的表结构,会少了:

页面

Subscribe to MySQL 中文网 RSS