mysql安装+主从复制+ameoba读写分离

mysql安装+主从复制+ameoba读写分离

一、软件环境
  1. centos6

  2. Percona-Server-5.6.24-72.2-r8d0f85b-el6-x86_64-bundle.tar

  3. amoeba-mysql-3.0.4-BETA.tar.gz

二、mysql安装
  1. 解压包Percona

    tar -xvf Percona-Server-5.6.24-72.2-r8d0f85b-el6-x86_64-bundle.tar	
    
  2. 安装这四个:

    rpm -ivh Percona-Server-56-debuginfo-5.6.24-rel72.2.el6.x86_64.rpm 
    rpm -ivh Percona-Server-shared-56-5.6.24-rel72.2.el6.x86_64.rpm 
    rpm -ivh Percona-Server-client-56-5.6.24-rel72.2.el6.x86_64.rpm
    rpm -ivh Percona-Server-server-56-5.6.24-rel72.2.el6.x86_64.rpm
    
  3. 启动或关闭

    启动:
    service mysql start
    <!--Starting MySQL (Percona Server)... SUCCESS!--> 
    
    关闭:
    service mysql stop
    
    重启服务:
    service mysql restart
    
  4. 设置数据库密码

    mysqladmin -uroot password root
    
  5. 登录

    mysql -uroot -proot
    
  6. 设置数据库远程访问权限

    grant all on *.* to 'root'@'%' identified by 'root';
    

    或者指定IP访问权限:

    grant all on *.* to 'root'@'192.168.1.1' identified by 'root';
    
  7. 打开端口3306

    ​ centos6 打开端口

    /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
    /etc/rc.d/init.d/iptables save
    /etc/init.d/iptables status
    

    ​ centos7 打开端口

    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    firewall-cmd --reload
    firewall-cmd --zone=public --list-ports
    
  8. 数据库简单操作

    //创建数据库,防止乱码,导入数据chen.sql
    create database jtdb;
    set names utf8;
    source chen.sql
    show tables;
    select * from tb_item;
    
  9. 其他(跳过)

    卸载安装程序
    yum remove Percona-Server*
    
    删除数据和配置文件
    rm -rf /var/lib/mysql
    rm -f /etc/my.cnf
    
三、mysql主从复制
  1. 安装三台电脑,安装三个mysql,一主二从,分别为master,slave01,slave02

  2. 编辑mysql配置文件(如果没有,可以从defaut.cnf中cp)

    vi /etc/my.cnf 
    

    master节点:在[mysqld]节点下加入两句话,设置ID和启用二进制日志

    server-id=1
    log-bin=mysql-bin		
    

    slave01节点:在[mysqld]节点下加入一句话,设置ID

    server-id=2
    

    slave02节点:在[mysqld]节点下加入一句话,设置ID

    server-id=3
    
  3. 如果是克隆的,需要修改uuid

    vi /var/lib/mysql/auto.cnf 
    
  4. 重启所有mysql节点

    service mysql restart
    

    如果失败报错,就杀死进程

    ERROR! MySQL (Percona Server) PID file could not be found!
    kill -9 31025
    
  5. 挂靠配置主从复制

    1)主表操作

    登录mysql:
    mysql -root -proot
    
    数据库锁表,不让写数据
    flush tables with read lock;
    
    #查看MASTER状态(这两个值File和Position)
    show master status;	
     +------------------+----------
    | File             | Position |
    +------------------+----------+
    | mysql-bin.000001 |      120 |
    +------------------+----------+
    
    #从启动好后,记得要解除锁定
    mysql>unlock tables;		
    

    2)两个从表,挂靠操作,修改为上一步查出来的内容

    通过mysql命令配置同步日志的指向:
    change master to master_host='192.168.8.39', master_port=3306,master_user='root',master_password='root',master_log_file='mysql-bin.000006', master_log_pos=120;
    
    <!--master_host		主服务器的IP地址-->
    <!--master_port		主服务器的PORT端口-->
    <!--master_log_file		和主服务器show master status中的File字段值相同-->
    <!--master_log_pos		和主服务器show master status中的Position字段值相同-->
    

    3)从服务启动

    start slave;				#stop slave;停止服务,出错时先停止,再重新配置
    show slave status\G;		#查看SLAVE状态,在cmd中,\G结果纵向显示。必须大写
    
    <!--成功信息:-->
    <!--Slave_IO_Running: Yes-->
    <!--Slave_SQL_Running: Yes-->
    

    4)解锁主表写入

    UNLOCK TABLES;	
    

    完成

  6. 如果第一次没有成功挂在,先停止slave,之后重试

    STOP SLAVE;
    
四、mysql读写分离ameoba实现
  1. 上传amoeba-mysql-3.0.4-BETA.tar.gz;

    amoeba-mysql-3.0.4-BETA-chen.tar.gz为绿色配置好的,只需修改账号密码和对应IP即可

  2. 解压

    tar -xvf amoeba-mysql-3.0.4-BETA.tar.gz 
    
  3. 修改配置文件dbServers.xml

     vi dbServers.xml
    

    1)修改数据库账号密码

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

    2)设置数据库主从库,注意对应数据IP

    <dbServer name="master"  parent="abstractServer">
    	<factoryConfig>
    		<!-- mysql ip -->
    		<property name="ipAddress">192.168.8.39</property>
    	</factoryConfig>
    </dbServer>
    
    <dbServer name="slave01"  parent="abstractServer">
    	<factoryConfig>
    		<!-- mysql ip -->
    		<property name="ipAddress">192.168.8.191</property>
    	</factoryConfig>
    </dbServer>
    
    <dbServer name="slave02"  parent="abstractServer">
    	<factoryConfig>
    		<!-- mysql ip -->
    		<property name="ipAddress">192.168.8.120</property>
    	</factoryConfig>
    </dbServer>
    

    3)设置读写分离负载均衡

    <dbServer name="multiPool" virtual="true">
    		<poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
    			<!-- Load balancing strategy: 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->
    			<property name="loadbalance">1</property>
    		<!-- Separated by commas,such as: server1,server2,server1 -->
    		<property name="poolNames">master,slave01,slave01,slave02,salve02</property>
    	</poolConfig>
    </dbServer>
    
  4. 修改配置文件 amoeba.xml

    vi amoeba.xml
    

    1)注意8066是代理数据库端口

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

    2)修改设置Amoeba代理数据库的密码,经测试正确。

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

    3)设置读写对应数据库

    <property name="LRUMapSize">1500</property>
    <property name="defaultPool">multiPool</property>
    
    <property name="writePool">master</property>
    <property name="readPool">multiPool</property>
    
    <property name="needParse">true</property>		
    
  5. 修改 bin/launcher

     vi launcher
    

    添加一行:

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

    默认配置Xss比较小128k,启动时提示太小,则修改/amoeba/bin/amoeba文件,修改为256k即可。

    或JVM_OPTIONS="-server -Xms1024m -Xmx1024m -Xss256k -XX:PermSize=16m -XX:MaxPermSize=96m"

  6. 打开ameoba端口8066

    centos6 打开端口

    /sbin/iptables -I INPUT -p tcp --dport 8066 -j ACCEPT
    /etc/rc.d/init.d/iptables save
    /etc/init.d/iptables status
    

    centos7 打开端口

    firewall-cmd --zone=public --add-port=8066/tcp --permanent
    firewall-cmd --reload
    firewall-cmd --zone=public --list-ports
    
  7. 启动停止

    ./bin/amoeba start   或 ./bin/amoeba start &
    ./bin/laucher start   或 ./bin/laucher start &
    
    ./bin/amoeba stop
    ./bin/laucher stop
    
  8. 设置开机启动

    vi /etc/rc.d/rc.local 
    
    # vi /etc/rc.d/rc.local
    #jkd运行环境加载
    export JAVA_HOME=/usr/local/src/java/jdk1.7.0_51
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
    
    #amoeba开机启动
    /usr/local/src/ameoba/amoeba-mysql-3.0.4-BETA/bin/launcher start &
    #/usr/local/src/amoeba/amoeba-mysql-3.0.4-BETA/bin/launcher start &
    
  9. ameoba安装完成。

    vi /etc/rc.d/rc.local
    
     #jkd运行环境加载
     export JAVA_HOME=/usr/local/src/java/jdk1.7.0_51
     export PATH=$JAVA_HOME/bin:$PATH
     export CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
     
     #amoeba开机启动
     /usr/local/src/ameoba/amoeba-mysql-3.0.4-BETA/bin/launcher start &
    
  10. ameoba安装完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Goldchenn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值