Atlas 是一个用于数据库负载均衡 ,读写分离的中间件,他实现了mysql 的语法,对于普通调用DAL 层来说的话,和mysql 是一样的。

一,安装
1,从源码安装 , 可以参考 http://blog.qixingzhong.com/2013/09/centos-install-atlas.html ,但是我装了半天还是不行,glib库搞不定,所以放弃了。

二,从rpm 安装
1,
一行命令搞定:
shell>> rpm -ivh Atlas-2.2.el5.x86_64.rpm

配置按照 https://github.com/Qihoo360/Atlas/wiki/Atlas%E7%9A%84%E5%AE%89%E8%A3%85 这里的配置,但是到了这一步
“./encrypt mypwd” ,说是找不到 libcrypto.so.6
我疯了,这又怎么了,我首先就安装了openssl
yum install openssl-devel

还是不行, 结果googel 之,牛人有了解决方案,

for 32 bit:
ln-sf /usr/lib/libssl.so.10 /usr/lib/libssl.so.6
ln-sf /usr/lib/libcrypto.so.10 /usr/lib/libcrypto.so.6
for 64bit
for 64 bit:
ln-sf /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.6
ln-sf /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.6
简单来说就是搞个链接,不然不能运行。

2, 运行起来:

查看日志发现:

ical) proxy-plugin.c.1454: I have no server backend, closing connection
2014-11-06 15:06:41: (critical) network-mysqld.c.1383: plugin_call(CON_STATE_READ_QUERY) failed

我有犯愁了,结果返现是mysql版本太低, 应该是5.6 ,所以换成了5.6.
把原来的mysql 找到,yum remove 掉。怎么找了,你yum install mysql ,他会提示你安装了那个包,然后你就yum remove **.rpm 具体的那个包。
5.6 安装好了,发现启动不起来,接着查看日志。 先找日志 find /-name mysqld.log ,

55 15957 [ERROR] InnoDB: auto-extending data file ./ibdata1 is of a different size 640 pages (rounded down to MB) than specified in the .cnf file: initial 768 pages, max 0 (relevant if non-zero) pages!
2014-11-06 15:49:55 15957 [ERROR] InnoDB: Could not open or create the system tablespace. If you tried to add new data files to the system tablespace, and it failed here, you should now edit innodb_data_file_path in my.cnf back to what it was, and remove the new ibdata files InnoDB created in this failed attempt. InnoDB only wrote those files full of zeros, but did not yet use them in any way. But be careful: do not remove old data files which contain your precious data!
2014-11-06 15:49:55 15957 [ERROR] Plugin 'InnoDB' init function returned error.
2014-11-06 15:49:55 15957 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2014-11-06 15:49:55 15957 [ERROR] Unknown/unsupported storage engine: InnoDB
2014-11-06 15:49:55 15957 [ERROR] Aborting

原来是要找到原来安装mysql 的目录,删除几个文件夹就可以了,/var/lib/mysql, 一般是,不行就你find 一下。ibdata1  ib_logfile0  ib_logfile1 这个几个文件夹要删掉。在service mysqld start

3, 满心欢喜,可以运行了。用navicat 工具连上之后,发现,只能读,不能写。

需要设置 /usr/local/mysql-proxy/conf/test.cnf
proxy-backend-addresses = 172.16.13.100:3306
不要设置为127.0.0.1
4 ,看到了主数据库可以写入了,但是从数据库没有数据,我就纳闷了。原来是我2,原来还需要手动设置 mysql 的主从复制 ,这个是mysql 自己的功能。
http://dev.mysql.com/doc/refman/5.6/en/replication-howto.html

Atlas 安装运行随笔的更多相关文章

  1. MySQL中间件Atlas安装及使用

    简介 Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量 ...

  2. Atlas安装配置

    准备环境 192.168.1.1(Altas) 192.168.1.2(MySQL主) 192.168.1.3(MySQL从) 官方链接:https://github.com/Qihoo360/Atl ...

  3. Windows OS上安装运行Apache Kafka教程

    Windows OS上安装运行Apache Kafka教程 下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka. 简介 本文讲述了如何在 ...

  4. 您的 PHP 似乎没有安装运行 WordPress 所必需的 MySQL 扩展”处理方法

    转自:http://www.xuebuyuan.com/1549022.html 这已经是一个老掉牙的问题了,部分人使用自己的服务器安装WordPress程序之后,会出现“您的 PHP 似乎没有安装运 ...

  5. Android中插件开发篇之----动态加载Activity(免安装运行程序)

    一.前言 又到周末了,时间过的很快,今天我们来看一下Android中插件开发篇的最后一篇文章的内容:动态加载Activity(免安装运行程序),在上一篇文章中说道了,如何动态加载资源(应用换肤原理解析 ...

  6. 用JSON-server模拟REST API(一) 安装运行

    用JSON-server模拟REST API(一) 安装运行 在开发过程中,前后端不论是否分离,接口多半是滞后于页面开发的.所以建立一个REST风格的API接口,给前端页面提供虚拟的数据,是非常有必要 ...

  7. Mac 下安装运行Rocket.chat

    最近花了一周的时间,复习了HTML.CSS.原生JS,并学习了Node.js.CoffeeScript.js.MongoDB,入了下门. 因为准备在Rocket.chat 上做二次开发,所以先下载和安 ...

  8. 在Linux上rpm安装运行Redis 3.0.4

    http://www.rpmfind.net搜索redis,找到redis3.0.4的rpm源选做 wget ftp://fr2.rpmfind.net/linux/remi/enterprise/6 ...

  9. Linux通过docker安装运行酷Q--用QQ骰子君进行跑团

    Linux通过docker安装运行酷Q 文:铁乐与猫 需求:和小伙伴周末进行愉快的TRPG跑团,需要在QQ讨论组上加了qq小号后,将qq小号用酷Q配合投骰的应用变成骰子君. 限制:我个人的云计算服务器 ...

随机推荐

  1. Oracle 11.2.0.4在线(Online mode)打补丁14084247解决WRH$_ACTIVE_SESSION_HISTORY不会自动切割的问题

      安装了Oracle Database Release 11.2.0.4之后,发现WRH$_ACTIVE_SESSION_HISTORY始终不会自动分割删除,   后来才发现需要应用补丁:14084 ...

  2. imperva-指定url禁止访问

    指定url禁止访问 应用到那个网站 访问一下查看告警

  3. linux 获取时间后--自定义时间格式

    自定义时间格式 =================================-===================================== #include <stdio.h ...

  4. O_NONBLOCK与O_NDELAY有何不同?

    O_NONBLOCK和O_NDELAY所产生的结果都是使I/O变成非搁置模式(non-blocking),在读取不到数据或是写入缓冲区已满会马上return,而不会搁置程序动作,直到有数据或写入完成. ...

  5. marshmallow: 简化Python对象系列化

    转载:http://www.thinksaas.cn/topics/0/594/594368.html marshmallow -一个轻量级的库用于将复杂对象转成简单的Python数据类型.或从简单的 ...

  6. C/C++杂记:运行时类型识别(RTTI)与动态类型转换原理

    运行时类型识别(RTTI)的引入有三个作用: 配合typeid操作符的实现: 实现异常处理中catch的匹配过程: 实现动态类型转换dynamic_cast. 1. typeid操作符的实现 1.1. ...

  7. Fiddler 4 抓包(APP HTTPS )

    一.手机连接Fiddler 1.配置fiddler 1.安装fiddler,基本下一步下一步即可: 2.打开fiddler,点击顶部栏Tools——>Options 3.在HTTPS页签勾选“D ...

  8. JAVA随笔(三)

    私有是针对类的,而不是对象. static 函数,其实是类函数.之前一直不太理解每个类中的static main是什么意思,为什么main中不能直接调用非静态的变量:因为main是 类函数,不是属于某 ...

  9. Java Http接口加签、验签操作方法

    1.业务背景 最近接触了一些电商业务,发现在处理电商业务接口时,比如淘宝.支付类接口,接口双方为了确保数据参数在传输过程中未经过篡改,都需要对接口数据进行加签,然后在接口服务器端对接口参数进行验签,确 ...

  10. Java---容器基础总结

    Java提供了大量持有对象的方式: (1) 数组将数字与对象联系起来. 它保存类型明确的对象,查询对象时,不需要对结果做类型转换.它可以是多维的, 可以保存基本类型的数据. 但是,数组一旦生成,其容量 ...