Atlas安装配置
准备环境
192.168.1.1(Altas)
192.168.1.2(MySQL主)
192.168.1.3(MySQL从)
官方链接:https://github.com/Qihoo360/Atlas/wiki/Atlas%E7%9A%84%E5%AE%89%E8%A3%85
主从搭建:http://www.cnblogs.com/cypress/p/8610279.html
一、配置主从数据库访问连接
#依次设置主库,从库允许Atlas访问连接
mysql>GRANT FILE ON *.* TO 'root'@'192.168.1.1' IDENTIFIED BY 'root password'; #创建用户 #或者
mysql> grant all on *.* to root@'127.0.0.1' identified by "root"; #创建用户
# 进入数据库
mysql> use mysql
# 修改host权限为"%"
mysql> update user set host = '%' where user = 'root'; 以上两种方式任意一种均可
mysql>select host ,user ,password from mysql.user; #查看是否修改成功
mysql>FLUSH PRIVILEGES; #更新数据库信息,否则需要重启数据库
开启对应端口:http://blog.csdn.net/u011846257/article/details/54707864
二、安装Atlas
注意事项:
(1).Atlas只能安装运行在64位的系统上。
(2).Centos 5.X安装 Atlas-XX.el5.x86_64.rpm,Centos 6.X安装Atlas-XX.el6.x86_64.rpm。
(3).如果执行安装rpm -ivh Atlas-2.2.1.el6.x86_64.rpm出现下面错误说明已经安装
Preparing... ########################################### [100%]
package Atlas-2.2.1-1.x86_64 is already installed
使用[root
@localhost
~]# rpm -qa|grep Atlas
// 查询出来已安装的Atlas
[root
@localhost
~]# rpm -e --nodeps 文件名
// 卸载Atlas,文件名为上述命令查询出来的文件
[root@localhost ~]# cd /home/
[root@localhost home]# wget https://github.com/Qihoo360/Atlas/releases/download/2.2.1/Atlas-2.2.1.el6.x86_64.rpm
2.安装
[root@localhost home]# rpm -ivh Atlas-2.2.1.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:Atlas ########################################### [100%]
安装地址
[root@localhost home]# ll /usr/local/mysql-proxy/
total 16
drwxr-xr-x. 2 root root 4096 Dec 28 10:47 bin #bin目录下放的都是可执行文件
drwxr-xr-x. 2 root root 4096 Dec 28 10:47 conf #conf目录下放的是配置文件
drwxr-xr-x. 3 root root 4096 Dec 28 10:47 lib #lib目录下放的是一些包,以及Atlas的依赖
drwxr-xr-x. 2 root root 4096 Dec 17 2014 log #log目录下放的是日志,如报错等错误信息的记录
3.给连接的主从数据库用户密码加密并记录
[root@localhost bin]# cd /usr/local/mysql-proxy/bin/
[root@localhost bin]# ./encrypt root
4.配置Atlas,使用vim进行编辑
[root@localhost conf]# cd /usr/local/mysql-proxy/conf/
[root@localhost conf]# vim test.cnf
进入后配置信息如下,更多参考官网
###1.配置范例及说明如下:
[mysql-proxy]
(必备,默认值即可)管理接口的用户名
admin-username = user
(必备,默认值即可)管理接口的密码
admin-password = pwd
(必备,根据实际情况配置)主库的IP和端口
proxy-backend-addresses = 192.168.0.12:3306
(非必备,根据实际情况配置)从库的IP和端口,@后面的数字代表权重,
proxy-read-only-backend-addresses = 192.168.0.13:3306,192.168.0.14:3306
(必备,根据实际情况配置)用户名与其对应的加密过的MySQL密码,密码使用PREFIX/bin目录下的加密程序encrypt加密,
用户名与密码之间用冒号分隔。主从数据库上需要先创建该用户并设置密码
(用户名和密码在主从数据库上要一致)。比如用户名为myuser,密码为mypwd,
执行./encrypt mypwd结果为HJBoxfRsjeI=。如果有多个用户用逗号分隔即可。则设置如下行所示:
pwds = myuser: HJBoxfRsjeI=,myuser2:HJBoxfRsjeI=
(必备,默认值即可)Atlas的运行方式,设为true时为守护进程方式,
设为false时为前台方式,一般开发调试时设为false,线上运行时设为true
daemon = true
(必备,默认值即可)设置Atlas的运行方式,设为true时Atlas会启动两个进程,一个为monitor,
一个为worker,monitor在worker意外退出后会自动将其重启,设为false时只有worker,没有monitor,一般开发调试时设为false,线上运行时设为true
keepalive = true
(必备,根据实际情况配置)工作线程数,推荐设置成系统的CPU核数的2至4倍
event-threads = 4
(必备,默认值即可)日志级别,分为message、warning、critical、error、debug五个级别
log-level = message
(必备,默认值即可)日志存放的路径
log-path = /usr/local/mysql-proxy/log
(必备,根据实际情况配置)SQL日志的开关,可设置为OFF、ON、REALTIME,OFF代表不记录SQL日志,ON代表记录SQL日志,该模式下日志刷新是基于缓冲区的,当日志填满缓冲区后,才将日志信息刷到磁盘。REALTIME用于调试,代表记录SQL日志且实时写入磁盘,默认为OFF
sql-log = OFF
(可选项,可不设置)慢日志输出设置。当设置了该参数时,则日志只输出执行时间超过sql-log-slow(单位:ms)的日志记录。不设置该参数则输出全部日志。
sql-log-slow = 10
(可选项,可不设置)关闭不活跃的客户端连接设置。当设置了该参数时,Atlas会主动关闭经过'wait-timeout'时间后一直未活跃的连接。单位:秒
wait-timeout = 10
(必备,默认值即可)Atlas监听的工作接口IP和端口
proxy-address = 0.0.0.0:1234
(必备,默认值即可)Atlas监听的管理接口IP和端口
admin-address = 0.0.0.0:2345
(可选项,可不设置)分表设置,此例中person为库名,mt为表名,id为分表字段,3为子表数量,可设置多项,以逗号分隔,若不分表则不需要设置该项,子表需要事先建好,子表名称为表名_数字,数字范围为[0,子表数-1],如本例里,子表名称为mt_0、mt_1、mt_2
tables = person.mt.id.3
(可选项,可不设置)默认字符集,若不设置该项,则默认字符集为latin1
charset = utf8
(可选项,可不设置)允许连接Atlas的客户端的IP,可以是精确IP,也可以是IP段,以逗号分隔,若不设置该项则允许所有IP连接,否则只允许列表中的IP连接
client-ips = 127.0.0.1, 192.168.1
(可选项,极少需要)Atlas前面挂接的LVS的物理网卡的IP(注意不是虚IP),若有LVS且设置了client-ips则此项必须设置,否则可以不设置
lvs-ips = 192.168.1.1
5.启动Atlas
[root@localhost bin]# ./mysql-proxyd test start #启动
OK: MySQL-Proxy of test is started
[root@localhost bin]# ./mysql-proxyd test restart #重启Atlas。
[root@localhost bin]# ./mysql-proxyd test stop #停止Atlas。
注意:
(1). 运行文件是:mysql-proxyd(不是mysql-proxy)。
(2). test是conf目录下配置文件的名字
(3). 可以使用ps -ef | grep mysql-proxy查看Atlas是否已经启动或停止。
6.连接Atlas测试,进入MySQL操作界面为成功
[root@localhost ~]# yum install mysql #按需安装mysql客户端,如果显示找不到命令,需要安装,MySQL不需要启动
[root@localhost ~]# mysql -h127.0.0.1 -P1234 -u root -p root #配置的用户
[root@localhost ~]# mysql -h127.0.0.1 -P2345 -u user -p pwd #管理员
可以访问help表查看能做什么
mysql> select * from help; #查看管理DB的各类命令
+----------------------------+---------------------------------------------------------+
| command | description |
+----------------------------+---------------------------------------------------------+
| SELECT * FROM help | shows this help |
| SELECT * FROM backends | lists the backends and their state |
| SET OFFLINE $backend_id | offline backend server, $backend_id is backend_ndx's id |
| SET ONLINE $backend_id | online backend server, ... |
| ADD MASTER $backend | example: "add master 127.0.0.1:3306", ... |
| ADD SLAVE $backend | example: "add slave 127.0.0.1:3306", ... |
| REMOVE BACKEND $backend_id | example: "remove backend 1", ... |
| SELECT * FROM clients | lists the clients |
| ADD CLIENT $client | example: "add client 192.168.1.2", ... |
| REMOVE CLIENT $client | example: "remove client 192.168.1.2", ... |
| SELECT * FROM pwds | lists the pwds |
| ADD PWD $pwd | example: "add pwd user:raw_password", ... |
| ADD ENPWD $pwd | example: "add enpwd user:encrypted_password", ... |
| REMOVE PWD $pwd | example: "remove pwd user", ... |
| SAVE CONFIG | save the backends to config file |
| SELECT VERSION | display the version of Atlas |
+----------------------------+---------------------------------------------------------+
16 rows in set (0.00 sec)
mysql> SELECT * FROM backends; #列出后台和他们的状态
+-------------+--------------------+-------+------+
| backend_ndx | address | state | type |
+-------------+--------------------+-------+------+
| 1 | 192.168.3.39:3306 | up | rw |
| 2 | 192.168.3.101:3306 | down | ro |
+-------------+--------------------+-------+------+
2 rows in set (0.00 sec)
都为up说明连接成功rw代表写,ro代表读
执行SQL进行测试可以显示执行信息
[root@localhost ~]# more /usr/local/mysql-proxy/log/test.log
2018-03-21 20:59:28: (critical) network-mysqld.c.1387: plugin_call(CON_STATE_READ_QUERY) failed #关键
2018-03-21 21:01:22: (warning) Forbidden SQL: 192.168.3.14:56397: delete from user; #警报
2016-01-28 09:55:22: (message) proxy listening on port 0.0.0.0:1234 #消息
2016-01-28 09:55:22: (message) added read/write backend: 192.168.1.2:3306 #写
2016-01-28 09:55:22: (message) added read-only backend: 192.168.1.3:3306 #读
或者
[root@localhost ~]# tail -f /usr/local/mysql-proxy/log/sql_test.log #运行实施加载 ,需要更改日志配置,修改日志为实时写入磁盘
Atlas安装配置的更多相关文章
- MySQL中间件Atlas安装及使用
简介 Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量 ...
- my02_Atlas mysql5.7安装配置
软件环境:centos7.3,glib-2.49,lua5.1,Atlas2.2.1,mysql5.7 依赖包安装******************************************* ...
- caffe学习(1):多平台下安装配置caffe
如何在 centos 7.3 上安装 caffe 深度学习工具 有好多朋友在安装 caffe 时遇到不少问题.(看文章的朋友希望关心一下我的创业项目趣智思成) 今天测试并整理一下安装过程.我是在阿 ...
- Hive安装配置指北(含Hive Metastore详解)
个人主页: http://www.linbingdong.com 本文介绍Hive安装配置的整个过程,包括MySQL.Hive及Metastore的安装配置,并分析了Metastore三种配置方式的区 ...
- Hive on Spark安装配置详解(都是坑啊)
个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...
- ADFS3.0与SharePoint2013安装配置(原创)
现在越来越多的企业使用ADFS作为单点登录,我希望今天的内容能帮助大家了解如何配置ADFS和SharePoint 2013.安装配置SharePoint2013这块就不做具体描述了,今天主要讲一下怎么 ...
- Hadoop的学习--安装配置与使用
安装配置 系统:Ubuntu14.04 java:1.7.0_75 相关资料 官网 下载地址 官网文档 安装 我们需要关闭掉防火墙,命令如下: sudo ufw disable 下载2.6.5的版本, ...
- redis的安装配置
主要讲下redis的安装配置,以及以服务的方式启动redis 1.下载最新版本的redis-3.0.7 到http://redis.io/download中下载最新版的redis-3.0.7 下载后 ...
- Windows环境下的NodeJS+NPM+Bower安装配置
npm作为一个NodeJS的模块管理,之前我由于没有系统地看资料所以导致安装配置模块的时候走了一大段弯路,所以现在很有必要列出来记录下.我们要先配置npm的全局模块的存放路径以及cache的路径,例如 ...
随机推荐
- BZOJ4554 - [TJOI2016&HEOI2016]游戏
原题链接 Description 给出一个的地图,地图上有空地.软石头和硬石头.求在这张地图上最多能放上多少个炸弹能使得任意两个炸弹之间不会互相炸到.炸弹能炸到的范围是该炸弹所在的一行和一列,炸弹的威 ...
- C++ 监测磁盘空间
硬盘管理器 头文件 HardDiskManager.h : #if _MSC_VER > 1000 #pragma once #endif #include <windows.h> ...
- word自动备份,word误删内容恢复
有个问题时长困扰着我,就是一次不小心把word里面的一部分内容误删了之后,又手残点击ctrl+s给保存了,要是立即ctrl+z还能撤销,可要是关闭了word才想起来撤销就来不及啦,现在终于找到解决的办 ...
- Android Scheme协议与应用全解析
URL Scheme 的作用 客户端应用可以向操作系统注册一个 URL Scheme,该 Scheme 用于从浏览器或其他应用中启动本应用. 通过指定的 URL 字段,可以让应用在被调起后直接打开某些 ...
- R分词
#用于下载安装rJava 和 Rwordseg,如果安装了就注释掉 install.packages("rJava") install.packages("Rwordse ...
- String getProperty(String key, String def)
String getProperty(String key, String def) 获取用指定键描述的系统属性. * 若key 系统环境或properties等配置文件的键,如os.name等,返回 ...
- Linux命令之finger
Linux命令之finger youhaidong@youhaidong-ThinkPad-Edge-E545:~$ finger 程序"finger"尚未安装. 您可以使用以下命 ...
- 【原】Java学习笔记026 - 集合
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 需求:从三国演义中 ...
- Spring 之BeanFactory(转)
BeanFactory是Spring的“心脏”.它就是Spring IoC容器的真面目. Spring使用BeanFactory来实例化.配置和管理Bean.但是,在大多数情况我们并不直接使用Bean ...
- JavaScript的那些事儿
关于JavaScript的对象数据类型: Object 定义一个对象类型: 例如:var person=new Object(): 当然在建立对象以后我们可以为他添加属性, 如: <script ...