配置binlog-server

修改mha配置文件

[root@mysql-db03 ~]# vim /etc/mha/app1.cnf[binlog1]no_master=1hostname=10.0.0.53master_binlog_dir=/data/mysql/binlog/

备份binlog

#创建备份binlog目录[root@mysql-db03 ~]# mkdir -p /data/mysql/binlog/#进入该目录[root@mysql-db03 ~]# cd /data/mysql/binlog/#备份binlog[root@mysql-db03 binlog]# mysqlbinlog  -R --host=10.0.0.55 --user=mha --password=123 --raw  --stop-never mysql-bin.000001 启动mha[root@mysql-db03 binlog]# nohup masterha_manager --conf=/etc/mha/app1.cnf --remove_dead_master_conf --ignore_last_failover < /dev/null > /etc/mha/manager.log 2>&1 &

测试binlog备份

#查看binlog目录中的binlog[root@mysql-db03 binlog]# lltotal 44-rw-r--r-- 1 root root 285 Mar  8 03:11 mysql-bin.000001#登录主库[root@mysql-db01 ~]# mysql -uroot -p123#刷新binlogmysql> flush logs;#再次查看binlog目录[root@mysql-db03 binlog]# lltotal 48-rw-r--r-- 1 root root 285 Mar  8 03:11 mysql-bin.000001-rw-r--r-- 1 root root 143 Mar  8 04:00 mysql-bin.000002

MySQL中间件Atlas

Atlas简介

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

Atlas主要功能


  • 1.读写分离
  • 2.从库负载均衡
  • 3.IP过滤
  • 4.自动分表
  • 5.DBA可平滑上下线DB
  • 6.自动摘除宕机的DB

Atlas相对于官方MySQL-Proxy的优势


  • 1.将主流程中所有Lua代码用C重写,Lua仅用于管理接口
  • 2.重写网络模型、线程模型
  • 3.实现了真正意义上的连接池
  • 4.优化了锁机制,性能提高数十倍

安装Atlas

同学们有福了,安装Atlas真的是超级简单,官方提供的Atlas有两种:

1)Atlas (普通) : Atlas-2.2.1.el6.x86_64.rpm
2)Atlas (分表) : Atlas-sharding_1.0.1-el6.x86_64.rpm

这里我们只需要下载普通的即可。

#在主库安装,进入安装包目录[root@mysql-db01 ~]# cd /home/oldboy/tools/#下载Atlas[root@mysql-db01 tools]# wget httpss://github.com/Qihoo360/Atlas/releases/download/2.2.1/Atlas-2.2.1.el6.x86_64.rpm#安装[root@mysql-db01 tools]# rpm -ivh Atlas-2.2.1.el6.x86_64.rpm Preparing...               ########################################### [100%]  1:Atlas                  ########################################### [100%]

编辑配置文件

#进入Atlas工具目录[root@db04 ~]# cd /usr/local/mysql-proxy/ total 0drwxr-xr-x 2 root root 75 Nov 21 18:43 bindrwxr-xr-x 2 root root 22 Nov 21 18:43 conf drwxr-xr-x 3 root root 331 Nov 21 18:43 lib drwxr-xr-x 2 root root 6 Dec 17 2014 log[root@mysql-db01 ~]# cd /usr/local/mysql-proxy/bin/#生成密码[root@mysql-db01 bin]# ./encrypt oldboy123#修改Atlas配置文件[root@mysql-db01 ~]# vim /usr/local/mysql-proxy/conf/test.cnf#Atlas后端连接的MySQL主库的IP和端口,可设置多项,用逗号分隔proxy-backend-addresses = 10.0.0.51:3306#Atlas后端连接的MySQL从库的IP和端口proxy-read-only-backend-addresses = 10.0.0.52:3306,10.0.0.53:3306#用户名与其对应的加密过的MySQL密码pwds = root:1N/CNLSgqXuTZ6zxvGQr9A==#SQL日志的开关sql-log = ON#Atlas监听的工作接口IP和端口proxy-address = 0.0.0.0:3307#默认字符集,设置该项后客户端不再需要执行SET NAMES语句charset = utf8#管理接口的用户名admin-username = user #管理接口的密码 admin-password = pwd #Atlas监听的管理接口IP和端口 admin-address = 0.0.0.0:2345#client-ips = 127.0.0.1, 192.168.1

启动Atlas

[root@mysql-db01 ~]# /usr/local/mysql-proxy/bin/mysql-proxyd test startOK: MySQL-Proxy of test is started

Atlas管理操作

#用atlas管理用户登录[root@mysql-db01 ~]# mysql -uuser -ppwd -h127.0.0.1 -P2345#查看可用命令帮助mysql> select * from help;#查看后端代理的库mysql> SELECT * FROM backends;+-------------+----------------+-------+------+| backend_ndx | address        | state | type |+-------------+----------------+-------+------+|           1 | 10.0.0.51:3307 | up    | rw   ||           2 | 10.0.0.53:3307 | up    | ro   ||           3 | 10.0.0.52:3307 | up    | ro   |+-------------+----------------+-------+------+#平滑摘除mysqlmysql> REMOVE BACKEND 2;Empty set (0.00 sec)#检查是否摘除成功mysql> SELECT * FROM backends;+-------------+----------------+-------+------+| backend_ndx | address        | state | type |+-------------+----------------+-------+------+|           1 | 10.0.0.51:3307 | up    | rw   ||           2 | 10.0.0.52:3307 | up    | ro   |+-------------+----------------+-------+------+#保存到配置文件中mysql> SAVE CONFIG;Empty set (0.06 sec)

Atlas管理接口

[root@db04 conf]# mysql -uuser -ppwd -h127.0.0.1 -P2345 mysql> SELECT * FROM help; +----------------------------+---------------------------------------------------------+ | 命令                       |  描述                                                    | --------------------------------------------------------------------------------------- | SELECT * FROM help         |  查看帮助                                                | | SELECT * FROM backends     |  查看后端的服务器状态                                     | | SET OFFLINE $backend_id    |  平滑下线 例如:set offline 2;                           || SET ONLINE $backend_id     |  平滑上线 例如:set online 2;                            | | ADD MASTER $backend        |  添加后端主库:add master 10.0.0.55:3306;                | | ADD SLAVE $backend         |  添加后端从库:add slave 10.0.0.56:3306                  | | REMOVE BACKEND $backend_id |  删除后端节点: remove backend 1;                        || SELECT * FROM clients      |  查看允许连接的客户端IP                                   | | ADD CLIENT $client         |  添加客户端IP:add client 10.0.0.51                       | | REMOVE CLIENT $client      |  删除客户端IP:REMOVE CLIENT 10.0.0.51;                   | | SELECT * FROM pwds         |  查看后端数据库的用户名和密码                              || ADD PWD $pwd               |  添加用户,自动加密例如:add pwd root:123                  | | ADD ENPWD $pwd             |  添加用户,需要手写加密后的密码:add enpwd ljk:3yb5jEku5h4=;| | REMOVE PWD $pwd            |  删除没有用的用户:remove pwd ljk;                        || SAVE CONFIG                |  保存到配置文件                                           | | SELECT VERSION             |  查看版本                                                |+----------------------------+---------------------------------------------------------+

使用

mysql> select * from backends;+-------------+----------------+-------+------+| backend_ndx | address        | state | type |+-------------+----------------+-------+------+|           1 | 10.0.0.55:3306 | up    | rw   ||           2 | 10.0.0.53:3306 | up    | ro   ||           3 | 10.0.0.51:3306 | up    | ro   |+-------------+----------------+-------+------+3 rows in set (0.00 sec)mysql> add master 10.0.0.54:3306;Empty set (0.00 sec)mysql> select * from backends;+-------------+----------------+-------+------+| backend_ndx | address        | state | type |+-------------+----------------+-------+------+|           1 | 10.0.0.55:3306 | up    | rw   ||           2 | 10.0.0.54:3306 | up    | rw   ||           3 | 10.0.0.51:3306 | up    | ro   ||           4 | 10.0.0.53:3306 | up    | ro   |+-------------+----------------+-------+------+4 rows in set (0.00 sec)mysql> add slave 10.0.0.52:3306;Empty set (0.00 sec)mysql> select * from backends;+-------------+----------------+-------+------+| backend_ndx | address        | state | type |+-------------+----------------+-------+------+|           1 | 10.0.0.55:3306 | up    | rw   ||           2 | 10.0.0.54:3306 | up    | rw   ||           3 | 10.0.0.51:3306 | up    | ro   ||           4 | 10.0.0.53:3306 | up    | ro   ||           5 | 10.0.0.52:3306 | up    | ro   |+-------------+----------------+-------+------+5 rows in set (0.00 sec)

脚本

[root@db03 ~]# vim atlas.sh#!/bin/bashdown_master=`sed -rn 's#^Master (.*)(.*down!$#1#gp' /etc/mha/manager.log`new_master=`sed -rn 's#^Selected (.*)(.*master.$#1#gp' /etc/mha/manager.log`new_master_id=`mysql -uuser -ppwd -h127.0.0.1 -P2345 -e 'select * from backends'|grep $new_master|awk '{print $1}'`#删除被提升为主库的从库 mysql -uuser -ppwd -h127.0.0.1 -P2345 -e 'remove backend $new_master_id;save config;'#将down掉的master变成从库 mysql -uuser -ppwd -h127.0.0.1 -P2345 -e 'add slave ${down_master}:3306;save config;' /usr/local/mysql-proxy/bin/mysql-proxyd test restart

配置文件

[root@mysql-db01 ~]# vim /usr/local/mysql-proxy/conf/test.cnf

mysql binlog查看_MySQL--17 配置binlog-server 及中间件相关推荐

  1. spring中怎么访问MySQL过程_DB数据源之SpringBoot+MyBatis踏坑过程(六)mysql中查看连接,配置连接数量...

    DB数据源之SpringBoot+MyBatis踏坑过程(六)mysql中查看连接,配置连接数量 liuyuhang原创,未经允许禁止转载 系列目录连接 1.环境说明 mysql5.0以上版本. wi ...

  2. mysql binlog 权限_MySQL如何开启binlog?binlog三种模式的分析

    前提,创建表t,并插入数据,语句如下: CREATE TABLE `t` ( `id` int(11) NOT NULL, `a` int(11) DEFAULT NULL, `t_modified` ...

  3. mysql public权限_MySQL · 引擎特性 · Binlog encryption 浅析

    背景介绍 为了保障数据安全,MySQL 在 5.7 版本就支持了 InnoDB 表空间加密,之前写了一篇月报介绍过,参考InnoDB 表空间加密.文章开头也提到过,MariaDB 除了对表空间加密,也 ...

  4. binlog日志_MySQL三大日志binlog、redo log和undo log

    点击蓝色"JavaKeeper"关注我哟 加个"星标",一起成长,做牛逼闪闪的技术人 Keeper导读:日志是mysql数据库的重要组成部分,记录着数据库运行期 ...

  5. mysql binlog 过期_mysql清理过期binlog堵塞数据库

    背景 线上有一套数据库业务迁移走一段时间,过了一周业务又接入进来,运行几分钟后突然出现数据库10秒左右无法写入,上去排查发现此时出现了几百G binlog的过期删除 线上环境 mysql_versio ...

  6. mysql修改binlog 位置_mysql修改/切换binlog存储位置以及重置mysql-bin的index

    修改mysql中binlog的位置可以方便日志的管理与清除,需要修改mysql的my.cnf配置文件,不同的环境配置文件不同,我的mariadb配置文件为/etc/mysql/mariadb.conf ...

  7. mysql bin-log作用_MySQL中的binlog的作用是什么?

    前言 MySQL中有六种日志文件,其中二进制日志也与事务操作有一定的关系,对理解MySQL中的事务操作有着重要的意义. 二进制日志(binlog): 作用: 1,用于复制,在主从复制中,从库利用主库上 ...

  8. mysql 主从优点_MySql主从配置实践及其优势浅谈

    1.增加两个MySQL,我将C:\xampp\mysql下的MYSQL复制了一份,放到D:\Mysql2\Mysql5.1 修改my.ini(linux下应该是my.cnf): [client] po ...

  9. MySQL主从压_mysql主从配置

    在同一台服务器中建立mysql主从 mysql-5.1.72-linux-i686-glibc23.tar.gz 二:搭建步骤 1.下载:cd /usr/local/src ;wget http:// ...

  10. mysql数据库安全配置文件_MySQL数据库安全配置

    MySQL数据库安全配置 1.前言 MySQL 是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统.它具有功能强.使用简便.管理方便.运行速度快.安全可靠性强 ...

最新文章

  1. [转]Iphone NSString字符串常用方法
  2. 【云炬大学生创业基础笔记】第1章第4节 为什么需要创业测试
  3. python get()函数_C++使用ffpython嵌入和扩展python(python2和python3)
  4. pythonopencv的配置_python配置与使用OpenCV
  5. jsonpath 判断是否包含_mysql json 判断某个key是否存在
  6. signature=b21ede5d7e667b061a2058d2d4aba643,【D2D8524B18023CCDD6DBEEF2AB467
  7. ensp ftp服务器配置文件,ensp配置ftp服务器,显示连接失败。
  8. 循环双链表的手动构建总结
  9. Maven学习五之Nexus中各repository介绍
  10. paip.dom4j中 selectSingleNode 或selectNodes获取不到节点的原因总结
  11. MikroTik RouterOS U盘安装工具netinstall的使用
  12. 【航空订票系统——开题报告 分享(仅供参考呀)】
  13. 苹果电脑怎么进入安全模式教程
  14. 网站被封申诉通道方式方法
  15. 本人想了解CPU原理,大家能否推荐几本关于学习CPU原理的书?
  16. JavaScript--点击颜色,为主题更换背景颜色
  17. umass计算机硕士,麻省旗舰马萨诸塞大学阿默斯特分校 计算机科学强势
  18. 同事开会时说我的分析没用,我当场这样怼他!
  19. 专访黄文斌丨中专文凭的他,辞掉了9年的国企“铁饭碗”
  20. 快手国际版Kwai测试海外电商直播,社交App的尽头是直播电商?

热门文章

  1. Trade Stages - The Trade Path
  2. 我想知道怎么求N的N次方
  3. 数据结构与算法——哈希表与字符串
  4. python 内存分析_python内存管理分析
  5. android 下载器布局,Android Studio下载约束布局失败
  6. android actionbar 背景,Android应用开发之定制页面背景及Actionbar overflow menu的背景色...
  7. pytorch查看应用指数衰减后的学习率
  8. 机器学习中的相似性度量总结
  9. Verilog HDL语言设计计数器+加法器
  10. 安卓逆向_18 --- APK保护策略【Java代码混淆、资源混淆、签名校验】