MySQL深入利用Ameoba实现读写分离

3 ameoba安装配置

?

3.1 安装配置JDK

[[email protected] ~]# rpm -ivh jdk-7u67-linux-x64.rpm

[[email protected] ~]# cd /usr/java/

?

修改环境变量

?

[[email protected] ~]# vim /etc/profile.d/java.sh

[[email protected] ~]# cat /etc/profile.d/java.sh

export JAVA_HOME=/usr/java/latest

export PATH=$JAVA_HOME/bin:$PATH

#即时生效配置文件

[[email protected] ~]# . /etc/profile.d/java.sh

测试:执行java -version,正确的话应该会显示:

[[email protected] ~]# java -version

java version "1.7.0_67"

Java(TM) SE Runtime Environment (build 1.7.0_67-b01)

Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

?

lftp 172.16.0.1:/pub/Sources/6.x86_64/amoeba>

[[email protected] ~]# mkdir /usr/local/amoeba

[[email protected] ~]# tar xf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba

?

?

?

[[email protected] amoeba]# bin/amoeba start

?

The stack size specified is too small, Specify at least 228k

Error: Could not create the Java Virtual Machine.

Error: A fatal exception has occurred. Program will exit.

#解决方法

[[email protected] bin]# pwd

/usr/local/amoeba/bin

DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss516k"

?

?

?

?

?

?

?

?

[[email protected] amoeba]# bin/amoeba start

?

?

3.4 使用验证

?

# 登录验证

[[email protected] ~]# mysql -h127.0.0.1 -uroot -p -P3306

mysql> show master status;

+------------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000003 | 961 | | |

+------------------+----------+--------------+------------------+

1 row in set (0.06 sec)

?

?

测试读写分离:

在安装的amoea的节点node15上,创建一个数据库,分别查看后端节点master(node16),slave(node17)的所有数据库:

mysql> create database amoeba_test;

Query OK, 1 row affected (0.11 sec)

?

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| amoeba_test |

| mysql |

| performance_schema |

| test |

+--------------------+

5 rows in set (0.00 sec)

?

[[email protected] ~]# mysql

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| test |

+--------------------+

4 rows in set (0.07 sec)

?

?

# 从amoeba接口登录创建数据库amoeba_test后,再从主库的接口中去查询数据库已创建,说明写入确实是落在了主库节点上;

# 若要验证ameoba对于读操作的调度,则需要暂时停止从库的复制操作,然后在主库上更新数据,这样从ameoba读取数据将出现

时间: 2024-12-25 15:49:32

MySQL深入利用Ameoba实现读写分离的相关文章

mysql主从利用proxy实现读写分离

编译安装代理服务 安装依赖yum update -y nss curl libcurlyum group install "Development tools" yum install gcc make libcurl-devel openssl-devel gmp-devel tar libffi-devel gettext-devel -yyum install -y tcpdump net-tools jemalloc-devel libevent-devel glib2-dev

MySQL深入10-利用Ameoba实现读写分离

本篇博文主要介绍利用Ameoba实现MySQL的读写分离功能,而MySQL官方的mysql-proxy需要自己编写复杂的lua脚本才能实现同样的功能,故个人还是倾向使用amoeba哦: =================================================================== 1 简介 2 准备 2.1 时间同步 2.2 配置MySQL主从复制架构 3 ameoba安装配置 3.1 安装配置JDK 3.2 安装ameoba 3.3 配置ameoba 3

Mysql主从配置,实现读写分离

大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢失的话,后果更是 不堪设想.这时候,我们会考虑如何减少数据库的联接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached,如果资金丰厚的话,必然会想到假设服务器群,来分担主数据库的压力.Ok切入今天微博主题,利用MySQL主从配置,实现读写分离,减轻数据库压力.这种

MySQL/MariaDB基于MMM实现读写分离及高可用

前言 MMM(Master-Master replication managerfor Mysql,Mysql主主复制管理器)是一套灵活的脚本程序,基于perl实现,用来对mysql replication进行监控和故障迁移,并能管理mysql Master-Master复制的配置(同一时间只有一个节点是可写的). MMM 优缺点 优点:高可用性,扩展性好,出现故障自动切换,对于主主同步,在同一时间只提供一台数据库写操作,保证的数据的一致性. 缺点:Monitor节点是单点,可以结合Keepal

高可用架构篇--MyCat在MySQL主从复制基础上实现读写分离

点击链接加入群[Dubbo技术交流2群]:https://jq.qq.com/?_wv=1027&k=46DcDFI 一.环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso JDK版本:jdk1.7.0_45 MyCat版本:Mycat-server-1.4-release-20151019230038-linux.tar.gz MyCat节点IP:192.168.1.203      主机名:edu-mycat-01  主机配置:4核CPU.4G内存 MySQL版本:

mysql利用atlas进行读写分离时,一直走主库的问题

项目中,利用atlas对mysql数据库进行了读写分离. 当时配置了去从库读数据. 当用数据库工具连接代理测试时,一切正常. 当在项目中使用框架mybatis连数据库时,却都直接去主库读写数据了. 自己写个main方法 用jdbc连接也是正常的.一用mybatis框架就不正常了,难道atlas对mybatis不支持吗? 于是各种百度,谷歌... 最后发现原因:如果有事务存在的话,atlas就强制走主库.而这个方法类上偏偏添加了事务@Transactional 解决办法在方法上加上@Transac

Mysql之主从模式、读写分离概念

MySQL主从架构复制: 在主server上每次进行可能引起数据变化的操作都要先记录到二进制文件中,并将数据同步到主server的磁盘上,与此同时还要通过端口(3306)将二进制日志发送到从server上,在从server上,从server会先将接受的二进制日志保存为中继日志(relay log),在从中继日志中进行读取,重新执行一遍操作,进行数据的复制 但一般来说,如果主server有多个cpu,当数据量变化很频繁时,可能会在每个cpu上都运行一个事务,而注server只能一个个的记录入二进制

MySQL主从配置及实现读写分离

大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢失的话,后果更是 不堪设想.这时候,我们会考虑如何减少数据库的联接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached,如果资金丰厚的话,必然会想到假设服务器群,来分担主数据库的压力.Ok切入今天主题,利用MySQL数据库主从配置,实现读写分离,减轻数据库压力.这

mysql双击热备+amoeba读写分离

Mysql读写分离是为了提高网站的访问速度,提高数据库的并发负载能力. 但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面. 因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分离来提升数据库的并发负载能力, 这样的方案来进行部署与实施的. 注意:先做主从复制,再度读写分离. MySQL主从复制结构是基于mysql bin-log日志基础上,从库通过打开IO进程收到主库的bin-log