千家信息网

Centos7 MYSQL 读写分离实验流程分享

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,本文主要给大家介绍Centos7 MYSQL 读写分离实验流程分享,其所涉及的东西,从理论知识来获悉,有很多书籍、文献可供大家参考,从现实意义角度出发,累计多年的实践经验可分享给大家。mysql介绍M
千家信息网最后更新 2024年11月11日Centos7 MYSQL 读写分离实验流程分享

本文主要给大家介绍Centos7 MYSQL 读写分离实验流程分享,其所涉及的东西,从理论知识来获悉,有很多书籍、文献可供大家参考,从现实意义角度出发,累计多年的实践经验可分享给大家。

mysql介绍

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

安装前准备

3台mysql云服务器 (本次使用的是3台5.7版本的mysql)

一台 centos 服务器 (用作安装 amoeba)

amoeba安装包 java环境包

实验步骤

关闭防火墙自启动,以及相关功能和增强性安全功能

 systemctl stop firewalld.service  setenforce 0

时间同步

yum install ntp -yvim /etc/ntp.conf在配置文件中添加   server 127.127.100.0    ##本地是时钟源fudge 127.127.100.0 stratum 8    ##设置时间层级为8service ntpd start    ##开启服务/usr/sbin/ntpdate 192.168.100.100   ##进行时间同步

mysql主服务器上配置

vim /etc/my.cnf在[mysqld] 下添加server-id=1log-bin=master-bin      ##主服务器日志文件log-slave-updates=true      ##从服务器更新二进制日志service mysqld restartmysql -u root -p     ##进入mysql数据库GRANT REPLICATION SLAVE ON *.* TO 'myslave'@'192.168.100.%' IDENTIFIED BY '123456';             ##  给予回应从服务器的权限FLUSH PRIVILEGES;    ##刷新数据show master status;+-------------------+----------+--------------+------------------+| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB |+-------------------+----------+--------------+------------------+| master-bin.000002 |      339 |              |                  |+-------------------+----------+--------------+------------------+1 row in set (0.00 sec)

mysql从服务器配置

vim /etc/my.cnf在 [mysqld]下添加server-id=11relay-log=relay-log-bin      ##从主服务器上同步日志文件记录到本地relay-log-index=slave-relay-bin.index     ##定义relay-log的位置和名称##   第二台从服务器的 serverid不能相同service mysqld restart   ##重启服务mysql -u root -p    ##进入mysql数据库change master to master_host='192.168.100.100',master_user='myslave',master_password='123456',master_log_file='master-bin.000002',master_log_pos=339;     ##配置主服务器start slave;   ##开启同步show slave status \G;     ##查看同步状态

验证主从服务器是否开启成功

在主服务器上create database test;在从服务器上show databases;能看到test 则说明成功

安装amoeba服务 并进行配置

推荐使用java 1.6的环境包cp jdk-6u14-linux-x64.bin /usr/local//usr/local/jdk-6u14-linux-x64.bin一直往下  接着输入 yes , 再按 enter稍等一会 配置完成java环境mv jdk1.6.0_14/ /usr/local/jdk1.6vim /etc/profile在最后添加export JAVA_HOME=/usr/local/jdk1.6export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/libexport PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin/:$PATH:$HOME/binexport AMOEBA_HOME=/usr/local/amoebaexport PATH=$PATH:$AMOEBA_HOME/binsource /etc/profile   ##使配置生效mkdir /usr/local/amoeba   ##创建amoeba服务器位置tar zxvf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba/     ##解压amoebachmod -R 755 /usr/local/amoeba    ##给予amoeba权限/usr/local/amoeba/bin/amoeba##显示amoeba start|stop说明安装成功在三台mysql上添加权限开放给amoeba访问grant all on *.* to test@'192.168.100.%' identified by '123.com';回到amoeba服务器cd /usr/local/amoebavim conf/amoeba.xml---30行--##用户名 amoeba----32行---------##密码 123456---117-去掉注释- master        ##默认池 master       ##写入池 slaves       ##读取池vi conf/dbServers.xml--23-- mysql服务器的通用数据库名称--mysql--26-29--去掉注释-- test 123.com-----42-主服务器地址--- 192.168.100.100--52-从服务器主机名---55-从服务器地址- 192.168.100.101将从服务器的6行复制 并配置 slave2 和其ip地址-----63-从服务器地址池---  slave1,slave2 /usr/local/amoeba/bin/amoeba start&    ##开启服务 netstat -anpt | grep java 看到8066 表示服务开启成功 看到主从服务器的地址 表示连接数据库成功

测试

在一台已经安装mysql服务器的电脑上mysql -u amoeba -p123456 -h 192.168.100.100 -P8066## 通过amoeba 登录--在主服务器上--create database zzz;create table test (id int(10),name varchar(10),address varchar(20));--在两台从服务器上--stop slave;     ##关闭同步--在主服务器上--use zzz;insert into test values('1','abc','this_is_master');--在从服务器1上--use zzz;insert into test values('2','abc','this_is_slave1');--在从服务器2上--use zzz;insert into test values('3','abc','this_is_slave2');------在客户端上测试----第一次会向从服务器1读数据-第二次会各从2读取select * from test;一次显示id为2的数据  一次显示id为3的数据-------------在通过客户端连接数据库后写入的数据只有主会记录,然后同步给从-从服务器不会记录,从而实现了读写分离。----insert into test values('5','abc','this_is_client');--在主服务器上可以看到写入的数据--select * from test;可以看到id 为 1 和 5的数据--在从服务器上--start slave; 开启同步--在客户端--select * from test;一次会显示 id为 1 2 5 的数据一次会显示 id 为 1 3 5 的数据

至此 mysql的读写分离安装完成

看了以上Centos7 MYSQL 读写分离实验流程分享介绍,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,大家可以继续关注行业资讯板块,会定期给大家更新行业新闻和知识,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。

0