MYSQL separated from the master copy, read and write

MYSQL separated from the master copy, read and write
MYSQL separated from the master copy, read and write
MYSQL separated from the master copy, read and write
MYSQL separated from the master copy, read and write
4, in the master, slave1, slave2 respectively mounted MySQL

[root@master1 ~]# mkdir /abc   ##创建挂载点
    [root@master1 ~]# mount.cifs //192.168.100.1/LNMP-C7 /abc/   ##远程挂载
    Password for root@//192.168.100.1/LNMP-C7:  
    [root@master1 ~]# cd /abc/
    [root@master1 abc]# ls
    mysql-5.5.24
    [root@master1 abc]# tar zxvf mysql-5.5.24.tar.gz -C /opt/   ##解压
    [root@master1 opt]# yum install -y \
    > gcc gcc-c++ \
    > ncurses \
    > ncurese-devel \    ##控制终端屏幕显示的库
    > bison \                 ##语法分析
    > make
    > cmake                 ##cmake工具
    > libaio-devel         ##系统调用来实现异步IO

    [root@slave1 opt]# useradd -s /sbin/nologin mysql   ##添加不可登录的mysql用户
    [root@slave1 opt]# cd /opt/mysql-5.5.24/
    [root@slave1 mysql-5.5.24]# mkdir /usr/local/mysql   ##创建安装目录
    [root@slave1 mysql-5.5.24]# cmake \      ##配置
    > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \    ##安装路径
    > -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \   ##sock文件路径
    > -DDEFAULT_CHARSET=utf8 \      ##字符集
    > -DDEFAULT_COLLATION=utf8_general_ci \
    > -DWITH_EXTRA_CHARSETS=all \
    > -DWITH_MYISAM_STORAGE_ENGINE=1 \     ##存储引擎
    > -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    > -DWITH_MEMORY_STORAGE_ENGINE=1 \
    > -DWITH_READLINE=1 \
    > -DENABLED_LOCAL_INFILE=1 \
    > -DMYSQL_DATADIR=/home/mysql \     ##数据文件路径
    > -DMYSQL_USER=mysql \      ##用户
    > -DMYSQL_TCP_PORT=3306    ##端口

    [root@slave1 mysql-5.5.24]# make && make install   ##编译及安装
    [root@master1 mysql-5.5.24]# chown -R mysql.mysql /usr/local/mysql   ##设置mysql属主属组
    [root@master1 mysql-5.5.24]# vim /etc/profile   ##配置环境变量便于系统识别
    export PATH=$PATH:/usr/local/mysql/bin/
    [root@master1 mysql-5.5.24]# source /etc/profile   ##刷新配置文件
    [root@master1 mysql-5.5.24]# cp support-files/my-medium.cnf /etc/my.cnf   ##主配置文件
    cp:是否覆盖"/etc/my.cnf"? yes
    [root@master1 mysql-5.5.24]# cp support-files/mysql.server /etc/init.d/mysqld   ##启动文件
    [root@master1 mysql-5.5.24]# chmod 755 /etc/init.d/mysqld    ##设置权限
    [root@master1 mysql-5.5.24]# chkconfig --add /etc/init.d/mysqld    ##添加到service管理中
    [root@master1 mysql-5.5.24]# chkconfig mysqld --level 35 on   ##开机自启动
    [root@master1 mysql-5.5.24]# /usr/local/mysql/scripts/mysql_install_db \   ##初始化数据库
    > --user=mysql \
    > --ldata=/var/lib/mysql \
    > --basedir=/usr/local/mysql \
    > --datadir=/home/mysql

    [root@master1 mysql-5.5.24]# vim /etc/init.d/mysqld    ##编辑启动脚本文件
    basedir=/usr/local/mysql   ##找到此处添加路径
    datadir=/home/mysql
    [root@master1 mysql-5.5.24]# service mysqld start    ##启动MySQL
    Starting MySQL.. SUCCESS! 
    [root@master1 mysql-5.5.24]# mysqladmin -u root password 'abc123'  ##设置密码

MYSQL separated from the master copy, read and write
MYSQL separated from the master copy, read and write
MYSQL separated from the master copy, read and write
MYSQL separated from the master copy, read and write

At this point database master-slave synchronization success! ! !

MYSQL separated from the master copy, read and write
MYSQL separated from the master copy, read and write
11, modify the server configuration file amoeba

[root@amoeba conf]# vim amoeba.xml  ##修改主配置文件
    #第30行

     <property name="user">amoeba</property>    ##从服务器同步主服务器的用户密码
    #第32行
     <property name="password">123456</property>

    #第117行去掉注释
     <property name="defaultPool">master</property>
     <property name="writePool">master</property>
     <property name="readPool">slaves</property>

    [root@amoeba conf]# vim conf/dbServers.xml   ##配置数据库配置文件

    #第26 至29行去掉注释
     <property name="user">test</property>

     <property name="password">123.com</property>

    #第42行添加主服务器地址
    <dbServer name="master"  parent="abstractServer">
     <property name="ipAddress">192.168.142.151</property>
    第52行添加从服务器slave1地址
    <dbServer name="slave1"  parent="abstractServer">
     <property name="ipAddress">192.168.142.163</property>
     ##复制6行添加服务器slave2地址
     <dbServer name="slave2"  parent="abstractServer">
     <property name="ipAddress">192.168.142.145</property>
    #第65行授权同步
     <dbServer name="slaves" virtual="true">
     <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">

    #末行添加从服务器名称
    <property name="poolNames">slave1,slave2</property>
     </poolConfig>
    [root@amoeba conf]# /usr/local/amoeba/bin/amoeba start&   ##开启amoeba服务
    [root@amoeba ~]# netstat -anpt | grep java   ##开启另一个终端查看开启情况
    tcp6       0      0 127.0.0.1:26268         :::*                    LISTEN      40925/java          
    tcp6       0      0 :::8066                 :::*                    LISTEN      40925/java          
    tcp6       0      0 192.168.142.160:34090    192.168.142.151:3306     ESTABLISHED 40925/java          
    tcp6       0      0 192.168.142.160:33866    192.168.142.145:3306     ESTABLISHED 40925/java          
    tcp6       0      0 192.168.142.160:55984    192.168.142.163:3306     ESTABLISHED 40925/java    

MYSQL separated from the master copy, read and write
MYSQL separated from the master copy, read and write
MYSQL separated from the master copy, read and write
MYSQL separated from the master copy, read and write

On the primary server to write the data as read data from the server on, a polling mechanism is used to achieve separate read and write! ! !

Guess you like

Origin blog.51cto.com/14475593/2455863