版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Mysql主从与读写分离主从模式Master:Slave:一、配置主服务器1.1修改mysql配置文件 # vi /etc/my.cof在配置文件中添加log-bin=mysql-bin(开启二进制日志) server-id = 11.2启动mysql service mysqld start1.3登陆mysql mysql -uroot ppasswd1.4授权给从服务器 mysql> GRANT REPLICATION SLAVE ON *.* to 'user''' identifie
2、d by password;1.5查看主数据库状态mysql> show master status;+-+-+-+-+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+-+-+-+-+| mysql-bin.000005 | 261 | | |+-+-+-+-+记录下 File 及 Position 的值,在后面进行从服务器操作的时候需要用到二、配置从服务器2.1修改从服务器的配置文件/etc/f添加 server-id = 2,并确保这个ID没有被别的MySQL服务所使用。2.2启动mysql服务service mysqld
3、start2.3通过命令行登录管理MySQL服务器#mysql -uroot -p'password'2.4执行同步SQL语句mysql> change master tomaster_host=,master_user=user,master_password=password,master_log_file=mysql-bin.000005,master_log_pos=261;正确执行后启动Slave同步进程mysql> start slave;2.5主从同步检查mysql> show slave statusG=* 1. row
4、*Slave_IO_State:Master_Host: Master_User: userMaster_Port: 3306Connect_Retry: 60Master_Log_File: mysql-bin.000005Read_Master_Log_Pos: 415Relay_Log_File: localhost-relay-bin.000008Relay_Log_Pos: 561Relay_Master_Log_File: mysql-bin.000005Slave_IO_Running: YESSlave_SQL_Running: YESReplicate_
5、Do_DB:省略若干Master_Server_Id: 11 row in set (0.01 sec)=其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。如果不是yes 请认真检查配置文件中的Server_Id是否正确,或者执行同步输入是否正确。看下防火墙是否打开了3306端口!2.6如果主服务器已经存在应用数据,则在进行主从复制时,需要做以下处理:(1)主数据库进行锁表操作,不让数据再进行写入动作mysql> FLUSH TABLES WITH READ LOCK;(2)查看主数据库状态mysql> show ma
6、ster status;(3)记录下 FILE 及 Position 的值。将主服务器的数据文件(整个/opt/mysql/data目录)复制到从服务器,建议通过tar归档压缩后再传到从服务器解压。(4)取消主数据库锁定mysql> UNLOCK TABLES;2.7验证主从复制效果(1)主服务器上的操作在主服务器上创建数据库first_dbmysql> create database first_db;Query Ok, 1 row affected (0.01 sec)在主服务器上创建表first_tbmysql> create table first_tb(id int
7、(3),name char(10);Query Ok, 1 row affected (0.00 sec)在主服务器上的表first_tb中插入记录mysql> insert into first_tb values (001,myself);Query Ok, 1 row affected (0.00 sec)(2)在从服务器上查看mysql> show databases;=+-+| Database |+-+| information_schema | first_db | mysql | performance_schema | test |+-+5 rows in set
8、 (0.01 sec)=数据库first_db已经自动生成mysql> use first_dbDatabase chagedmysql> show tables;=+-+| Tables_in_first_db |+-+| first_tb |+-+1 row in set (0.02 sec)=数据库表first_tb也已经自动创建mysql> select * from first_tb;=+-+-+| id | name |+-+-+| 1 | myself |+-+-+1 rows in set (0.00 sec)=记录也已经存在由此,整个MySQL主从复制的过程
9、就完成了,接下来,我们进行MySQL读写分离的安装与配置。读写分离配置安装我只有两台服务器,所以下面的配置我都会在master上面进行MySQL-Proxy可通过以下网址获得:.tw/Downloads/MySQL-Proxy/现在的最新版本为mysql-proxy 0.8.3 已经将所需要的lua脚本集成到安装包里,所以不需要再另行安装lua我的环境为两台虚拟机所以我下载的是mysql-proxy-0.8.3-linux-rhel5-x86-32bit.tar.gz1.1将安装包下载之后,通过tar命令解压即可#tar zxf mysql-
10、proxy-0.8.3-linux-rhel5-x86-32bit.tar.gz#mv mysql-proxy-0.8.3.-linux-rhel5-x86-32bit ./mysql-proxy#cd mysql-proxy到这里mysql-proxy包已经安装完成。1.2现在开始编写启动脚本并启动#!/bin/bash/mysql-porxy/proxy/bin/mysql-proxy -proxy-backend-addresses=:3306 -proxy-read-only-backend-addresses=:3306 -proxy-lua-
11、script=/mysql-porxy/proxy/share/doc/mysql-proxy/rw-splitting.lua &注:如果正常情况下启动后终端不会有任何提示信息,mysql-proxy启动后会启动两个端口4040和4041,4040用于SQL转发,4041用于管理mysql-proxy。如有多个mysql-slave可以依次在后面添加全部的安装配置已经完成。我们来进行验证1、连接测试 因为默认情况下mysql数据库不允许用户在远程连接 mysql>grant allprivileges on *.* to 'root''%' id
12、entified by 'password' mysql>flushprivileges; 客户端连接 #mysql -uroot-ppassword -h -P40402、读写分离测试首先停止slave服务器的复制mysql>stop slave;连接MySQL-Proxy#mysql -uroot-ppassword -h -P4040登陆成功后,在first_db数据的first_tb表中插入两条记录mysql> use first_db;Database changedmysql> insert int
13、o first_tb values (007,first);Query Ok, 1 row affected (0.00 sec)mysql> insert into first_tb values (110,second);Query Ok, 1 row affected (0.00 sec)下面,分别登陆到主从数据库服务器,对比记录信息首先,检查主数据库服务器mysql> select * from first_tb;=+-+-+| id | name |+-+-+| 1 | myself |+-+-+| 007 | first |+-+-+| 110 | second |+-+-+3 rows in set (0.00 sec)=两条新记录都已经存在然后,检查从数据库服务器mysql> sel
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年春初中化学九年级下册(科粤版)上课课件 9.2 合成材料
- 四川省自贡市荣县中学2024-2025学年九年级上学期11月第一次月考英语试题(无答案)
- 期末模拟练习(试题)(含答案)-2024-2025学年四年级上册数学冀教版
- 安徽省淮南市西部地区2024-2025学年七年级上学期期中语文试题(含答案)
- 高一 人教版 化学 第四章 第二节《元素周期表和元素周期律的应用》课件
- 品管圈PDCA参赛案例-儿科提高危重患儿床旁交接班合格率医院品质管理成果汇报
- 高一年级 科技实践教材 第三单元《走进基因检测技术》课件
- 北京市海淀区2023-2024学年三年级上学期语文期末试卷
- 2025届贵州省金太阳联考一模生物试题(含答案解析)
- 《植物的生殖方式》课件
- 第23课 全民族浴血奋战与抗日战争的胜利 课件-高一上学期统编版(2019)必修中外历史纲要上
- DBJ15-22-2021-T 锤击式预应力混凝土管桩工程技术规程(广东省)
- 银行客户经理招聘面试题与参考回答(某大型集团公司)
- 私人酒窖租赁合同三篇
- 2024年国防知识竞赛考试题库500题(含答案)
- 科学阅读材料(课件)二年级上册科学教科版
- 关于发展乡村产业的建议
- 中国人工智能系列白皮书一元宇宙技术(2024 版)
- 招标代理机构选取技术标投标方案(技术方案)
- 进出口贸易跟供应商签订合同模板
- 提高钻孔灌注桩成孔质量一次验收合格率
评论
0/150
提交评论