千家信息网

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

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,今天就跟大家聊聊有关MYSQL中怎么实现主从复制和读写分离,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在master,slave1,slav
千家信息网最后更新 2025年12月02日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'  ##设置密码




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



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中怎么实现主从复制和读写分离有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

0