zoukankan      html  css  js  c++  java
  • mysql主从复制

    部署环境:
    
    系统环境CentOS release 6.5_x64
    
    主mysql服务器ip:172.18.49.10
    
    从mysql服务器ip:172.18.49.2
    
    开始部署安装:
    
    Mysql服务器都已经搭建完成。
    
    l 主mysql上:
    
    # cp  /etc/my.cnf  /etc/my.cnf.bak
    
    # vi /etc/my.cnf
    
    log_bin=mysql-bin     //开启二进制日志
    
    server_id=1 //server_id 的值主从必须不同
    
    # service mysqld restart
    
    登录mysql后进行授权:
    
    mysql> grant all on *.* to 'replication'@'%' identified by 'replication';
    
    mysql> flush privileges;
    
    解释:在master的数据库服务器中建立一个复制的账户,每个slave使用该账户链接master来进行复制,设置所有权限(根据具体情况自定)。上面创建了一个replication用户,密码是replication。只允许在所有段的ip地址的登录。
    
     
    
    查看master的状态:
    
    # mysql -uroot -p
    
    mysql> show master status;
    
     
    
    记住file和position的值,配置slave的时候需要用。
    
    l 从mysql上配置:
    
    修改配置文件
    
    # vi /etc/my.cnf
    
    server_id = 2 //修改server_id,其值必须和master的不同。
    
    relay_log=relay-logs //开启中继日志,可以自定义目录,mysql用户有权限即可
    
    # service mysqld restart
    
    # mysql -uroot –p
    
    查看中继日志的启动状态:
    
    mysql> show global variables like '%relay%';
    
     
    
    连接master服务器:
    
    mysql> change master to master_host='172.18.49.10',master_user='replication',master_password='replication',master_log_file='master-bin.000003',master_log_pos=284;
    
    选项解释:
    
    master_host:Master 服务器IP
    
    master_user:Master 服务器授权用户,也就是 Master 前面创建的那个用户
    
    master_password:Master 服务器授权用户对应的密码
    
    master_log_file:Master binlog 文件名
    
    master_log_pos:Master binlog 文件中的 Postion 值
    
    手动启动复制线程:
    
    mysql> start slave;
    
     
    
     
    
    如果 Last_SQL_Error 没有错误提示以及 Salve 中的 Exec_Master_Log_Pos 值和 Master 中的 show master status; 中的 Postition 值是一样的,这样的话,MySQL 主从复制应该是成功的。
    
    测试:
    
    在master上:
    
    mysql> use test;
    
    mysql> create table users(id int(10),name varchar(48),sex char(16));
    
    mysql> insert into users values(1,'qq','nan');
    
    mysql> flush privileges;
    
     
    
    在slave上:
    
    mysql> use test;
    
     
    
    则,主从复制OK!!!
    
     
    
     
    
     
    
     
    
    l 读写分离:
    
    安装jdk
    
    # rpm -ivh jdk-8u20-linux-x64.rpm
    
    # vi /etc/profile
    
    export  JAVA_HOME=/usr/java/jdk1.8.0_20/
    
    export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    
    export PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
    
    export  AMOEBA_HOME=/usr/local/amoeba
    
    export  PATH=$PATH:$AMOEBA_HOME/bin
    
    # source /etc/profile
    
    # java –version
    
     
    
     
    
    安装amoeba
    
    # mkdir /usr/local/amoeba
    
    # tar zxf amoeba-mysql-binary-2.2.0.tar.gz  -C /usr/local/amoeba/
    
    # chmod -R 755 /usr/local/amoeba/
    
    # /usr/local/amoeba/bin/amoeba
    
    amoeba start|stop  //显示这个表示amoeba安装成功。
    
     
    
    配置amoeba读写分离
    
    在master、slave1、slave2、、、、中开放权限给amoeba访问:
    
    mysql> grant all on *.* to  test@'172.18.49.%' identified by '123';
    
    修改amoeba的配置文件:
    
    # cp amoeba.xml amoeba.xml.bak
    
    # vi /usr/local/amoeba/conf/amoeba.xml
    
    修改连接amoeba代理服务器的有用户名和密码。
    
     
    
     
    
     
    
    修改默认的地址池名字,写和读的名字:注意:删掉注释符。
    
     
    
    对应主机名
    
    编辑修改dbservers.xml配置文件(对后端mysql服务器的配置)。
    
    # cp dbServers.xml dbServers.xml.bak
    
    # vi dbServers.xml
    
     
    
     
    
    指定主从数据库地址:
    
    都是对应得主机名
    
     
    
     
    
     
    
    之后启动amoeba:
    
    # /usr/local/amoeba/bin/amoeba start&
    
    # netstat -anpt  | grep :8066
    

      

  • 相关阅读:
    第四章——64位软件逆向技术-基本语法(上)
    第三章——静态分析技术-IDA的简单操作
    第二章——动态分析技术-OD常见问题
    工厂模式及其抽象工厂
    设计模式-原则
    设计模式-简单工厂模式
    设计模式-桥接模式
    设计模式
    Linux下安装软件心得
    光驱挂载和下载
  • 原文地址:https://www.cnblogs.com/luyuheng/p/11640428.html
Copyright © 2011-2022 走看看