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行授权同步#末行添加从服务器名称 [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/javaslave1,slave2
看完上述内容,你们对MYSQL中怎么实现主从复制和读写分离有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。
名称栏目:MYSQL中怎么实现主从复制和读写分离
标题URL:http://scyanting.com/article/igjije.html