首页 / MYSQL / MYSQL的主从复制、读写分离
MYSQL的主从复制、读写分离
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MYSQL的主从复制、读写分离,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4744字,纯文字阅读大概需要7分钟。
内容图文
![MYSQL的主从复制、读写分离](/upload/InfoBanner/zyjiaocheng/516/a311c44f42cf4c99aed0f1aedb2588bc.jpg)
![MYSQL的主从复制、读写分离 - 文章图片](/upload/getfiles/0001/2021/4/25/20210425102938463.jpg)
![MYSQL的主从复制、读写分离 - 文章图片](/upload/getfiles/0001/2021/4/25/20210425102938967.jpg)
![MYSQL的主从复制、读写分离 - 文章图片](/upload/getfiles/0001/2021/4/25/20210425102939109.jpg)
![MYSQL的主从复制、读写分离 - 文章图片](/upload/getfiles/0001/2021/4/25/20210425102939281.jpg)
4,在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行
<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的主从复制、读写分离
标签:文件路径 admin bst extra 去掉注释 install 取数 cmak 服务
本文系统来源:https://blog.51cto.com/14475593/2455863
内容总结
以上是互联网集市为您收集整理的MYSQL的主从复制、读写分离全部内容,希望文章能够帮你解决MYSQL的主从复制、读写分离所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。