下载安装 yum -y install cmake glib2 pcre pcre-devel mysql-d […]
对于使用中的已有了一些数据库的 MySQL, 如何改造成双主呢? 这里写一篇文章, 详细记录操作步骤. 听取各位的意见.
这里假设有两台服务器: A 和 B. 要让他们互为主, 但实际使用时, 不同的服务器只服务不同的 db, 避免出现数据冲突.
1. 修改 nginx 配置, 挂维护页
这一步很重要. 你需要告诉你的用户, 你的网站在维护, 同时要确保不会再出现数据库写操作.
另外, 还要停止 crontab 任务.
2. 备份数据库
Server A:
mysqldump -uroot -p --all-databases > a_dbdump_all.sql gzip a_dbdump_all.sql
Server B:
mysqldump -uroot -p --all-databases > b_dbdump_all.sql gzip b_dbdump_all.sql
把线上数据库备份到本地
scp test@server_a:~/a_dbdump_all.sql.gz . scp …[获取更多]
本文为《Redis运维经验一二三》的姐妹篇,主要阐述使用redis开发标准化的规范,简化运维成本,提升工作效率。
你首先需要了解的东西
在使用redis之前你首先要了解:①redis是单线程作业,所谓的并发是通过epoll实现的并发活跃连接;②redis与memcached相对优点明显,缺点不明显,因此还在犹豫的同学放心的选择redis吧;③在实际生产中因为客户端效率以及各节点通讯开销,redis几乎不可能达到官网上写的10w的qps;④在实际的使用过程中,redis最大的瓶颈一般是CPU,由于它是单线程作业所以很容易跑满一个逻辑CPU,可以使用redis代理或者是分布式方案来提升redis的CPU使用率。
切忌多个应用使用一个redis实例
…
[获取更多]现象:
有一个表 action_conf,数据如下:
如果想获取以exp_site_10_开头的en_name的记录,sql语句该如何写?
so easy!
select en_name from action_conf where en_name like 'exp_site_10_%'
很自信的在idb中执行了这条sql,就会发现结果并不是所预期的。
你会发现,执行上面的sql会把所有以 exp_site_10开头的记录都列出来了。
原因:
其实,这都是sql中的通配符在作怪。在sql中,下划线_是一个通配符,能匹配任何单一字符。
…
[获取更多]在很多时候,干得利索不如想的明白。方案应该根据场景来设计,不是盲目的依靠经验,当然这也算新经验!
需求是把公司的几套公共系统做成通过邮箱用户名和密码认证,只需记住一对用户名密码,简单为上,只允许用户在ExtMail的web页面修改密码!在做论坛认证的时候,由于论坛的复杂性,想到了如下的几个方案:
-
通过OAuth2.0做认证,或者自己写接口,问题是只听过,没玩过!
-
在邮箱修改时,也提交到论坛的数据库。可惜不会ExtMail的Perl代码,且修改代码工作量太大!
-
先前已经把线上邮箱用户表同步到内网,可以做数据库复制,可论坛和邮箱的数据库字段有较大出入,还是要改大量代码!
-
…