MYSQL中怎么实现主从复制和读写分离

今天就跟大家聊聊有关MySQL中怎么实现主从复制和读写分离,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

创新互联专注于梁子湖企业网站建设,成都响应式网站建设公司,电子商务商城网站建设。梁子湖网站建设公司,为梁子湖等地区提供建站服务。全流程定制网站制作,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

在master,slave1,slave2上分别安装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中怎么实现主从复制和读写分离
MYSQL中怎么实现主从复制和读写分离
MYSQL中怎么实现主从复制和读写分离
MYSQL中怎么实现主从复制和读写分离

至此database主从同步成功!!!

MYSQL中怎么实现主从复制和读写分离
MYSQL中怎么实现主从复制和读写分离
11,修改amoeba服务器配置文件

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

     amoeba    ##从服务器同步主服务器的用户密码
    #第32行
     123456

    #第117行去掉注释
     master
     master
     slaves

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

    #第26 至29行去掉注释
     test

     123.com

    #第42行添加主服务器地址
    
     192.168.142.151
    第52行添加从服务器slave1地址
    
     192.168.142.163
     ##复制6行添加服务器slave2地址
     
     192.168.142.145
    #第65行授权同步
     
     

    #末行添加从服务器名称
    slave1,slave2
     
    [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中怎么实现主从复制和读写分离有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


名称栏目:MYSQL中怎么实现主从复制和读写分离
标题URL:http://scyanting.com/article/igjije.html