最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL主从同步读写分离的集群配置_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 19:55:34
文档

MySQL主从同步读写分离的集群配置_MySQL

MySQL主从同步读写分离的集群配置_MySQL:大型网站为了解决大量的高并发访问问题,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器支持,如此多的数据库连接操作,服务器性能再好数据库必然会崩溃。数据丢失的话,后果更是不
推荐度:
导读MySQL主从同步读写分离的集群配置_MySQL:大型网站为了解决大量的高并发访问问题,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器支持,如此多的数据库连接操作,服务器性能再好数据库必然会崩溃。数据丢失的话,后果更是不

大型网站为了解决大量的高并发访问问题,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器支持,如此多的数据库连接操作,服务器性能再好数据库必然会崩溃。数据丢失的话,后果更是不堪设想。这时候,我们会考虑如何减少数据库的连接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:memcached等。如果资金充足的话,必然会想到假设服务器集群,来分担主数据库的压力。或者在硬件设备上,投入大量资金,购买高性能的服务器。出名的有f5,硬件负载,软件负载等。
Ok切入今天的主题,利用MySQL主从配置,实现读写分离,减轻数据库压力。这种方式,在如今很多网站里都有使用,也不是什么新鲜事情,今天总结一下,方便大家学习参考一下。
读写分离:
1.多个服务器肯定比一个服务器好。
2.在数据库写入的时候,会加入大量的锁(排它锁,共享锁等等),从而影响性能。
3.数据更安全,多数据库存在备份数据。
搭建环境:
1.搭设一台Master服务器(win7系统64bit,Ip:10.10.2.33)
2.一台台Slave服务器(winXp系统32bit,ip:10.10.2.157)
原理:主服务器(Master)负责网站写操作,从服务器负责查询操作。主从服务器利用MySQL的二进制日志文件,实现数据同步。二进制日志由主服务器产生,从服务器响应获取同步数据库。
-- 在主服务器上创建为10.10.2.157一个dbadmin用户,密码为123456
-- CREATE USER 'dbadmin'@'10.10.2.157' IDENTIFIED BY '123456';
-- 为用户dbadmin赋从复制权限(如果不想创建用户的话,可以使用root用户)。
-- grant replication slave,replication client on *.* to 'slave'@'10.10.2.157' identified by 'dbadmin'; 
-- 锁定所有表的写操作
-- flush tables with read lock; 
-- 显示主服务器的状态
-- show master status;
-- 更改从服务器从主的二进制文件mysql-test-bin.000002中的8042位置开始同步
-- change master to master_host='10.10.2.33', master_user='slave', master_password='root', master_log_file='mysql-test-bin.000002', master_log_pos=8042;
-- 开始同步
-- start slave;
-- 显示同步状态
-- show slave status;
-- 放开锁定的所有表
-- unlock tables;
在主服务器上找到my.ini文件(版本不同可能文件名字不同,如:my.cnf)。
mysql中有好几种日志方式,我们只要启动二进制日志log-bin就ok。在[mysqld]下面增加下面几行代码
server-id=1 //给数据库服务的唯一标识,一般为大家设置服务器Ip的末尾号
log-bin=master-bin 
log-bin-index=master-bin.index
binlog-do-db=test 需要同步的数据库 如果有不需要同步的数据库可以用binlog_ignore_db,两个都不设置,则全部同步 
auto_increment_offset=1 避免主键冲突重新设置自增主键的初始值
auto_increment_increment=2 自增主键的增量
expire_logs_days=1 设置log过期时间为两天,只保留两天的log日志
log_bin_trust_function_creators=1 给函数赋值权限
在从的服务器上也找到my.ini文件。在[mysqld]下面增加下面几行代码
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin 
auto_increment_offset=2 自增主键的初始值
auto_increment_increment=2 自增主键的增量

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

MySQL主从同步读写分离的集群配置_MySQL

MySQL主从同步读写分离的集群配置_MySQL:大型网站为了解决大量的高并发访问问题,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器支持,如此多的数据库连接操作,服务器性能再好数据库必然会崩溃。数据丢失的话,后果更是不
推荐度:
标签: 的配置 mysql 主从
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top