您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
今天就跟大家聊聊有关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' ##设置密码
11,修改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中怎么实现主从复制和读写分离有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。