mysql binlog查看_MySQL--17 配置binlog-server 及中间件
生活随笔
收集整理的這篇文章主要介紹了
mysql binlog查看_MySQL--17 配置binlog-server 及中间件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
配置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.000002MySQL中間件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 startedAtlas管理操作
#用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 及中间件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sqoop从oracle导入hive分区
- 下一篇: matlab如何建立时间温度曲线,mat