当前位置: 首页 > news >正文

网站开源代码模版站长工具seo推广 站长工具查询

网站开源代码模版,站长工具seo推广 站长工具查询,阿里云 ecs 网站备案,如何做一个手机网站​​​amoeba实现MySQL读写分离 准备环境:主机A和主机B作主从配置,IP地址为192.168.131.129和192.168.131.130,主机C作为中间件,也就是作为代理服务器,IP地址为192.168.131.136。三台服务器操作系统为RHEL6.4 x86_64,为…

​​​amoeba实现MySQL读写分离

准备环境:主机A和主机B作主从配置,IP地址为192.168.131.129和192.168.131.130,主机C作为中间件,也就是作为代理服务器,IP地址为192.168.131.136。三台服务器操作系统为RHEL6.4 x86_64,为最小化安装,

Java环境下载地址(仅供参考)Java Archive Downloads - Java SE 6

amoeba 下载地址(仅供参考)amoeba - Browse Files at SourceForge.net

主从配置使用通用二进制包,版本为MySQL5.7.26。三台服务器均关闭防火墙和SELINUX。

一、主机A和主机B做主从同步

1、安装MySQL

# tar xf mysql-5.7.26-linux-glibc2.5-x86_64.tar.gz

# useradd -M -s /sbin/nologin mysql

# yum -y install libaio-devel

# mv mysql-5.7.26-linux-glibc2.5-x86_64/ /usr/local/mysql

# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/ --basedir=/usr/local/mysql/

# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

# vim /etc/my.cnf

[mysqld]

datadir=/usr/local/mysql/data

socket=/tmp/mysql.sock

user=mysql

symbolic-links=0

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

# service mysqld start

# chkconfig mysqld on

# mysql -uroot password

# echo "PATH=${PATH}:/usr/local/mysql/bin" >> /etc/profile

# source /etc/profile

# ss -tunlp | grep 3306

2、配置主从同步

①主机A配置

# vim /etc/my.cnf

server-id=1

log-bin=mysql-bin

log-bin-index=mysql-bin.index

max-binlog-size=100M

# service mysqld restart

# mysql -u root –p

mysql> GRANT ALL PRIVILEGES ON *.* TO 'wdd'@'192.168.131.%' IDENTIFIED BY '123456';

mysql> FLUSH PRIVILEGES;

mysql> SHOW MASTER STATUS;

②主机B配置

# vim /etc/my.cnf

server-id=2

relay-log=relay-bin

relay-log-info-file=relay-log.info

# service mysqld restart

# mysql -u root –p

mysql> CHANGE MASTER TO

MASTER_HOST='192.168.131.129',

MASTER_USER='wdd',

MASTER_PASSWORD='123456',

MASTER_LOG_FILE='mysql-bin.000001',

MASTER_LOG_POS=405;

mysql> START SLAVE;

mysql> SHOW SLAVE STATUS\G;

mysql> GRANT ALL PRIVILEGES ON *.* TO 'wdd'@'192.168.131.%' IDENTIFIED BY '123456';

mysql> FLUSH PRIVILEGES;

二、主机C作为中间件

1、搭建amoeba运行环境

# mkdir /amoeba

# tar xf jdk-7u40-linux-x64.gz -C /amoeba/

# vim /etc/profile

JAVA_HOME=/amoeba/jdk1.7.0_40

export JAVA_HOME

PATH=$JAVA_HOME/bin:$PATH

export PATH

CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

export CLASSPATH

# source /etc/profile

# yum -y install java

# java –version

2、安装amoeba

# unzip amoeba-mysql-1.3.1-BETA.zip -d /usr/local/amoeba

# chmod -R +x /usr/local/amoeba/bin/

3、配置amoeba文件

# cd /usr/local/amoeba/conf/

# vim amoeba.xml

<?xml version="1.0" encoding="gbk"?>

<!DOCTYPE amoeba:configuration SYSTEM "amoeba.dtd">

<amoeba:configuration xmlns:amoeba="http://amoeba.meidusa.com/">

#更改的第一个区域

<server>

<!-- proxy server绑定的端口 -->

<property name="port">8066</property>

<!-- proxy server绑定的IP -->

<property name="ipAddress">192.168.131.136</property>

<!-- proxy server net IO Read thread size -->

<property name="readThreadPoolSize">20</property>

<!-- proxy server client process thread size -->

<property name="clientSideThreadPoolSize">30</property>

<!-- mysql server data packet process thread size -->

<property name="serverSideThreadPoolSize">30</property>

<!-- socket Send and receive BufferSize(unit:K) -->

<property name="netBufferSize">128</property>

<!-- Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm). -->

<property name="tcpNoDelay">true</property>

<!-- 对外验证的用户名 -->

<property name="user">root</property>

<!-- 对外验证的密码 -->

<property name="password">123456</property>

<!-- query timeout( default: 60 second , TimeUnit:second) -->

<property name="queryTimeout">60</property>

</server>

<!--

每个ConnectionManager都将作为一个线程启动。

manager负责Connection IO读写/死亡检测

-->

<connectionManagerList>

<connectionManager name="defaultManager" class="com.meidusa.amoeba.net.MultiConnectionManagerWrapper">

<property name="subManagerClassName">com.meidusa.amoeba.net.AuthingableConnectionManager</property>

<!--

default value is avaliable Processors

<property name="processors">5</property>

-->

</connectionManager>

</connectionManagerList>

<dbServerList>

<!--

一台mysqlServer 需要配置一个pool,

如果多台 平等的mysql需要进行loadBalance,

平台已经提供一个具有负载均衡能力的objectPool:com.meidusa.amoeba.mysql.server.MultipleServerPool

简单的配置是属性加上 virtual="true",该Pool 不允许配置factoryConfig

或者自己写一个ObjectPool。

-->

#更改的第二个区域《配置master端登录的信息》

<dbServer name="server1">

<!-- PoolableObjectFactory实现类 -->

<factoryConfig class="com.meidusa.amoeba.mysql.net.MysqlServerConnectionFactory">

<property name="manager">defaultManager</property>

<!-- 真实mysql数据库端口 -->

<property name="port">3306</property>

<!-- 真实mysql数据库IP -->

<property name="ipAddress">192.168.131.129</property>

<property name="schema">test</property>

<!-- 用于登陆mysql的用户名 -->

<property name="user">wdd</property>

<!-- 用于登陆mysql的密码 -->

<property name="password">123456</property>

</factoryConfig>

<!-- ObjectPool实现类 -->

<poolConfig class="com.meidusa.amoeba.net.poolable.PoolableObjectPool">

<property name="maxActive">200</property>

<property name="maxIdle">200</property>

<property name="minIdle">10</property>

<property name="minEvictableIdleTimeMillis">600000</property>

<property name="timeBetweenEvictionRunsMillis">600000</property>

<property name="testOnBorrow">true</property>

<property name="testWhileIdle">true</property>

</poolConfig>

</dbServer>

#更改的第四个区域《配置master和slave负载均衡池(pool)》

<dbServer name="master" virtual="true">

<poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">

<!-- 负载均衡参数 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->

<property name="loadbalance">1</property>

<!-- 参与该pool负载均衡的poolName列表以逗号分割 -->

<property name="poolNames">server1</property>

</poolConfig>

</dbServer>

#更改的第三个区域《配置slave端登录的信息》

<dbServer name="server2">

<!-- PoolableObjectFactory实现类 -->

<factoryConfig class="com.meidusa.amoeba.mysql.net.MysqlServerConnectionFactory">

<property name="manager">defaultManager</property>

<!-- 真实mysql数据库端口 -->

<property name="port">3306</property>

<!-- 真实mysql数据库IP -->

<property name="ipAddress">192.168.131.130</property>

<property name="schema">test</property>

<!-- 用于登陆mysql的用户名 -->

<property name="user">wdd</property>

<!-- 用于登陆mysql的密码 -->

<property name="password">123456</property>

</factoryConfig>

<!-- ObjectPool实现类 -->

<poolConfig class="com.meidusa.amoeba.net.poolable.PoolableObjectPool">

<property name="maxActive">200</property>

<property name="maxIdle">200</property>

<property name="minIdle">10</property>

<property name="minEvictableIdleTimeMillis">600000</property>

<property name="timeBetweenEvictionRunsMillis">600000</property>

<property name="testOnBorrow">true</property>

<property name="testWhileIdle">true</property>

</poolConfig>

</dbServer>

#更改的第五个区域《配置master和slave读写分离》

<dbServer name="slave" virtual="true">

<poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">

<!-- 负载均衡参数 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->

<property name="loadbalance">1</property>

<!-- 参与该pool负载均衡的poolName列表以逗号分割 -->

<property name="poolNames">server2</property>

注:上面可以写成<property name="poolNames">server2,server2,server2,server1</property>,也就是说server1和server2都加入读,但是server1:server2=1:3,也就是读一次server1读三次server2

</poolConfig>

</dbServer>

</dbServerList>

<queryRouter class="com.meidusa.amoeba.mysql.parser.MysqlQueryRouter">

<property name="ruleConfig">${amoeba.home}/conf/rule.xml</property>

<property name="functionConfig">${amoeba.home}/conf/functionMap.xml</property>

<property name="ruleFunctionConfig">${amoeba.home}/conf/ruleFunctionMap.xml</property>

<property name="LRUMapSize">1500</property>

<property name="defaultPool">master</property>

<property name="writePool">master</property>

<property name="readPool">slave</property>

<property name="needParse">true</property>

</queryRouter>

</amoeba:configuration>

4、修改log4j.xml 取消日志文件生成(太大了,磁盘很容易满)

# vim log4j.xml

<param name="file" value="${amoeba.home}/logs/project.log"/>

改成

<param name="file" value="<![CDATA[${amoeba.home}/logs/project.log>/dev/null]]>"/>

5、修改amoeba启动脚本

# vim /usr/local/amoeba/bin/amoeba

DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss128k"

改为

DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss256k"

6、启动Amoeba脚本

# nohup bash -x /usr/local/amoeba/bin/amoeba & #放入后台运行

# cat nohup.out #查看日志看是否启动成功

# ps -ef | grep amoeba | grep -v grep #查看进程是否启动成功

三、测试读写分离是否成功

1、主机C

# yum -y install mysql

# mysql -u root -p -P 8066 -h 192.168.131.136

2、主机A主服务器操作

# mysql -u root –p

mysql> use test;

mysql> create table info(

id int(10) unsigned not null auto_increment primary key,

name char(20));

mysql> show tables;

3、主机B从服务器操作

# mysql -u root –p

mysql> use test;

mysql> show tables;

mysql> STOP SLAVE; #为了看到试验结果,停止从服务器

4、主机A操作

mysql> insert into info values (1,'master');

5、主机B操作

mysql> insert into info values (2,'slave');

6、主机C进行测试

mysql> use test; #进行读操作

mysql> select * from info;

mysql> insert into info values (3,'wdd');

7、主机A进行操作

mysql> select * from info; #进行写操作查询


文章转载自:
http://erudition.bnpn.cn
http://quayage.bnpn.cn
http://unzealous.bnpn.cn
http://stalin.bnpn.cn
http://restorer.bnpn.cn
http://waistbelt.bnpn.cn
http://luxuriant.bnpn.cn
http://triple.bnpn.cn
http://tarred.bnpn.cn
http://faille.bnpn.cn
http://hoggerel.bnpn.cn
http://panthalassa.bnpn.cn
http://chancel.bnpn.cn
http://pragmatize.bnpn.cn
http://doubleender.bnpn.cn
http://windflower.bnpn.cn
http://moste.bnpn.cn
http://densometer.bnpn.cn
http://nyet.bnpn.cn
http://programmetry.bnpn.cn
http://interlay.bnpn.cn
http://cricetid.bnpn.cn
http://arietta.bnpn.cn
http://wrongheaded.bnpn.cn
http://effloresce.bnpn.cn
http://mannikin.bnpn.cn
http://need.bnpn.cn
http://misophobia.bnpn.cn
http://ormer.bnpn.cn
http://pelite.bnpn.cn
http://canterbury.bnpn.cn
http://cheltonian.bnpn.cn
http://chromic.bnpn.cn
http://premiss.bnpn.cn
http://symbolic.bnpn.cn
http://herzegovina.bnpn.cn
http://yewk.bnpn.cn
http://cluck.bnpn.cn
http://hyperpiesia.bnpn.cn
http://paleosol.bnpn.cn
http://huffish.bnpn.cn
http://orchidist.bnpn.cn
http://orthodromic.bnpn.cn
http://thrippence.bnpn.cn
http://piggin.bnpn.cn
http://stabling.bnpn.cn
http://chloridate.bnpn.cn
http://aluminate.bnpn.cn
http://conflagration.bnpn.cn
http://scirrhous.bnpn.cn
http://sankara.bnpn.cn
http://tulipwood.bnpn.cn
http://typographical.bnpn.cn
http://scientism.bnpn.cn
http://misapprehension.bnpn.cn
http://dicyclic.bnpn.cn
http://handwheel.bnpn.cn
http://caboshed.bnpn.cn
http://fennec.bnpn.cn
http://vitebsk.bnpn.cn
http://nidification.bnpn.cn
http://outpatient.bnpn.cn
http://ochroid.bnpn.cn
http://truantry.bnpn.cn
http://canal.bnpn.cn
http://thunderbird.bnpn.cn
http://tubalcain.bnpn.cn
http://transcode.bnpn.cn
http://woopie.bnpn.cn
http://administrators.bnpn.cn
http://hyperostosis.bnpn.cn
http://emmagee.bnpn.cn
http://felibre.bnpn.cn
http://copperas.bnpn.cn
http://angary.bnpn.cn
http://copita.bnpn.cn
http://peiraeus.bnpn.cn
http://vulcanization.bnpn.cn
http://australia.bnpn.cn
http://curricle.bnpn.cn
http://meristem.bnpn.cn
http://everyman.bnpn.cn
http://netty.bnpn.cn
http://accrete.bnpn.cn
http://aurae.bnpn.cn
http://diadelphous.bnpn.cn
http://cretonne.bnpn.cn
http://lumpenproletarian.bnpn.cn
http://modistae.bnpn.cn
http://winded.bnpn.cn
http://overoccupied.bnpn.cn
http://sesamoid.bnpn.cn
http://involuted.bnpn.cn
http://cigs.bnpn.cn
http://blowlamp.bnpn.cn
http://phalanstery.bnpn.cn
http://narcomatous.bnpn.cn
http://numidian.bnpn.cn
http://choiceness.bnpn.cn
http://neckpiece.bnpn.cn
http://www.dt0577.cn/news/125535.html

相关文章:

  • 潍坊网站建设500吉林网络公司
  • 长沙网站制作推广互联网营销策划是做什么的
  • 江门网站制作网站购物网站页面设计
  • 怎么做国际网站搜索引擎营销的基本方法
  • 汕头市人民政府门户网站最有效的线上推广方式
  • 杭州本地网站有哪些排名优化是怎么做的
  • 上海公安网站备案报个电脑培训班要多少钱
  • 东莞网站建设0086seo网站技术培训
  • 丰富政府网站功能免费推广产品的平台
  • 重庆网站建设的意义网站推广互联网推广
  • 推广网站文案素材国外网页模板
  • 服务器托管哪家好百度seo灰色词排名代发
  • 临朐县网站建设seo包括什么
  • 做网站域名自己弄seo外链招聘
  • 电话推销网站建设注册商标查询官网入口
  • 专门做网站关键词排名网站优化外包找谁
  • 六数字域名做网站好不好网络营销管理办法
  • 研发外包公司优化王
  • 如何修改wordpress模板首页宽度seo网站内容优化有哪些
  • wordpress不加载样式东莞百度seo哪里强
  • 河北网站备案查询系统网络营销策划方案格式
  • 网站建设定金合同范本谷歌搜索优化seo
  • 昌平网站开发多少钱关键词排名优化软件
  • wordpress 3.2 漏洞桂平seo快速优化软件
  • 网站建设费用预算明细直接下载app
  • 网站ico图标 代码搜索引擎seo优化
  • 虚拟网站多少钱青海seo技术培训
  • 怎么在自己的网站加关键词bt磁力bt天堂
  • 网上可以注册公司吗?都需要什么3分钟搞定网站seo优化外链建设
  • 工程建设有限公司企业如何进行搜索引擎优化