Category - DB

Percona-xtrabackup    2017-07-19 22:39:16    6

Xtrabackup是什么Xtrabackup是一个对MySQL InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。

Xtrabackup有两个主要的工具:xtrabackup、innobackupex1.xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表2.innobackupex是参考了InnoDB Hotbackup的innoback脚本修改而来的.innobackupex是一个perl脚本封装,封装了xtrabackup。主要是为了方便的同时备份InnoDB和MyISAM引擎的表,但在处理myisam时需要加一个读锁。并且加入了一些使用的选项。如slave-info可以记录备份恢复后,作为slave需要的一些信息,根据这些信息,可以很方便的利用备份来重做slave。

工具/原料

  • Ubuntu 13.10_X64+MySQL-server-5.5.35+percona-xtrabackup-2.1.7

方法/步骤

  1. 源码下载:http://www.percona.com/redir/downloads/XtraBackup/XtraBackup-2.1.7/binary/Linux/x86_64/percona-xtrabackup-2.1.7-721-Linux-x86_64.tar.gz

  2. 源码解压:tar -xzvf percona-xtrabackup-2.1.7-721-Linux-x86_64.tar.gz

  3. cd percona-xtrabackup-2.1.7-Linux-x86_64/bin/

  4. ll

    drwxr-xr-x 2 master master     4096 Jan 23 22:12 ./

    drwxr-xr-x 4 master master     4096 Jan 23 22:05 ../

    -rwxr-xr-x 1 master master   169816 Jan 23 22:12 innobackupex*

    lrwxrwxrwx 1 master master       12 Jan 23 22:12 innobackupex-1.5.1 -> innobackupex*

    -rwxr-xr-x 1 master maste

2017-07-19 22:38:06    205
参考文章:http://www.ttlsa.com/mysql/mysql-high-availability-with-nginx-and-galera/

借鉴文档:http://www.unixmen.com/setup-mariadb-galera-cluster-10-0-centos/


MariaDB is a relational database management system (RDBMS) and  MariaDB Galera Cluster is a synchronous multi-master cluster for MariaDB. It is available on Linux only, and only supports theXtraDB/InnoDB storage engines. This article explains how to setup MariaDB Galera Cluster 10.0 with 3 nodes running on CentOS 6.5 x86_64 resulting in a HA (high-availability) database cluster.

CLUSTER DETAILS

We using 3 freshly deployed VMs running a minimal install of CentOS 6.5 x86_64.

Cluster node 1 has hostname db1 and IP address 1.1.1.1
Cluster node 2 has hostname db2 and IP address 1.1.1.2
Cluster node 3 has hostname db3 and IP address 1.1.1.3

Step 1: Add MariaDB Repositories

Create a mariadb repository /etc/yum.repos.d/mariadb.repo using following content in your system.

For CentOS 6 – 64bit:

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/c
MariaDB HA Galera Cluster    2017-07-19 22:37:03    83
部署方案:
1、安装MariaDB Galera Cluster,参考文章:http://blog.liuyingguang.cn/blog/post/lightingfire/CentOS-6.5-%E6%88%96-CentOS-7-%E5%AE%89%E8%A3%85%C2%A0MariaDB-Galera-Cluster-10.0
2、安装Percona-xtrabackup,参考文章:http://blog.liuyingguang.cn/blog/post/lightingfire/Percona-xtrabackup%E6%BA%90%E7%A0%81%E5%AE%89%E8%A3%85
3、解决MariaDB Calera Cluster 运行中需要修改的linux系统配置:http://blog.liuyingguang.cn/blog/post/lightingfire/failed-to-open-gcomm-backend-connection-13-error-while-trying-to-listen-tcp
4、配置MariaDB Galera Cluster:
    参见第1点,
    额外修改wsrep_sst_method为xtrabackup
 
 

 

by 刘迎光@萤火虫工作室
OpenBI交流群:495266201
MicroService 微服务交流群:217722918
mail: liuyg#liuyingguang.cn
博主首页(防止爬虫):http://blog.liuyingguang.cn
OpenBI问答社区:http://openbi.liuyingguang.cn/

CentOS MariaDB MySQL    2017-07-19 22:31:53    4
很尴尬的,遇到这个问题,本以为简单的配置,没啥影响,结果CentOS机器起不来了(一直处于进度条状态),

后来发现,在机器启动的时候,进入进度条的时候,按下F4可以查看进程启动情况,

我的还好sshd先启动了,于是我连进去,将mysql关闭,则可以正常启动了

但是问题还是没有解决,我查看了/etc/my.cnf文件,发现我修改了两个配置,如下放置的,以为没问题,其实后台mysql也已经启动成功了,但是进程显示还是启动中

[client-server]

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
character_set_server=utf8
lower_case_table_names=1

于是,我想,一般配置放在[mysqld]中,于是,将配置信息修改为:
[client-server]

#
# include all files from the config directory
#
#!includedir /etc/my.cnf.d
[mysqld]
character_set_server=utf8
lower_case_table_names=1

则启动mysql一切正常了,解决了

 

 


 

by 刘迎光@萤火虫工作室
OpenBI交流群:495266201
MicroService 微服务交流群:217722918
mail: liuyg#liuyingguang.cn
博主首页(防止爬虫):http://blog.liuyingguang.cn
OpenBI问答社区:http://openbi.liuyingguang.cn/

haproxy redis    2017-07-19 22:30:33    8
环境前提:
    redis sentinel配置,三台主机,且配置运行良好
    

配置文件中添加:

frontend ft_redis
 bind 0.0.0.0:6379 name redis
 default_backend bk_redis

backend bk_redis
 option tcp-check
 tcp-check connect
 tcp-check send PING\r\n
 tcp-check expect string +PONG
 tcp-check send info\ replication\r\n
 tcp-check expect string role:master
 tcp-check send QUIT\r\n
 tcp-check expect string +OK
 server R1 10.118.36.10:6379 check inter 1s
 server R2 10.118.36.74:6379 check inter 1s
 server R3 10.118.5.161:6379 check inter 1s

当结果如下所示,则表示成功,那么试着切换redis的master和slave吧

 

 


 

by 刘迎光@萤火虫工作室
OpenBI交流群:495266201
MicroService 微服务交流群:217722918
mail: liuyg#liuyingguang.cn
博主首页(防止爬虫):http://blog.liuyingguang.cn
OpenBI问答社区:http://openbi.liuyingguang.cn/

4/6