做外贸做什么英文网站好,廊坊网站建设品牌,昆山网站制作哪家好,自已做个网站怎么做大型网站为了软解大量的并发访问#xff0c;除了在网站实现分布式负载均衡#xff0c;远远不够。到了数据业务层、数据访问层#xff0c;如果还是传统的数据结构#xff0c;或者只是单单靠一台服务器扛#xff0c;如此多的数据库连接操作#xff0c;数据库必然会崩溃除了在网站实现分布式负载均衡远远不够。到了数据业务层、数据访问层如果还是传统的数据结构或者只是单单靠一台服务器扛如此多的数据库连接操作数据库必然会崩溃数据丢失的话后果更是 不堪设想。这时候我们会考虑如何减少数据库的联接一方面采用优秀的代码框架进行代码的优化采用优秀的数据缓存技术如memcached,如果资金丰厚的话必然会想到假设服务器群来分担主数据库的压力。Ok切入今天微博主题利用MySQL主从配置实现读写分离减轻数据库压力。这种方式在如今很多网站里都有使用也不是什么新鲜事情今天总结一下方便大家学习参考一下。概述搭设一台Master服务器(win8.1系统Ip192.168.0.104)搭设两台Slave服务器(虚拟机——一台Ubuntu一台 Windows Server 2003)原理主服务器(Master)负责网站NonQuery操作从服务器负责Query操作用户可以根据网站功能模特性块固定访问Slave服务器或者自己写个池或队列自由为请求分配从服务器连接。主从服务器利用MySQL的二进制日志文件实现数据同步。二进制日志由主服务器产生从服务器响应获取同步数据库。具体实现1、在主从服务器上都装上MySQL数据库windows系统鄙人安装的是mysql_5.5.25.msi版本Ubuntu安装的是mysql-5.6.22-linux-glibc2.5-i686.tarwindows安装mysql就不谈了一般地球人都应该会。鄙人稍微说一下Ubuntu的MySQL安装我建议不要在线下载安装还是离线安装的好。大家可以参考 http://www.linuxidc.com/Linux/2013-01/78716.htm 这位不知道大哥还是姐妹写的挺好按照这个就能装上。在安装的时候可能会出现几种现象大家可以参考解决一下(1)如果您不是使用root用户登录建议 su - root 切换到Root用户安装那就不用老是 sudo 了。(2)存放解压的mysql 文件夹文件夹名字最好改成mysql(3)在./support-files/mysql.server start 启动MySQL的时候可能会出现一个警告中文意思是启动服务运行读文件时忽略了my.cnf文件那是因为my.cnf的文件权限有问题mysql会认为该文件有危险不会执行。但是mysql还会启动成功但如果下面配置从服务器参数修改my.cnf文件的时候你会发现文件改过了但是重启服务时修改过后的配置没有执行而且您 list一下mysql的文件夹下会发现很多.my.cnf.swp等中间文件。这都是因为MySQL启动时没有读取my.cnf的原因。这时只要将my.cnf的文件权限改成my_new.cnf的权限一样就Ok命令chmod 644 my.cnf就Ok(4)Ubuntu中修改文档内容没有Vim最好把Vim 装上apt-get install vim,不然估计会抓狂。这时候我相信MySQL应该安装上去了。2、配置Master主服务器(1)在Master MySQL上创建一个用户‘repl’并允许其他Slave服务器可以通过远程访问Master通过该用户读取二进制日志实现数据同步。1 mysqlcreate user repl; //创建新用户2 //repl用户必须具有REPLICATION SLAVE权限除此之外没有必要添加不必要的权限密码为mysql。说明一下192.168.0.%这个配置是指明repl用户所在服务器这里%是通配符表示192.168.0.0-192.168.0.255的Server都可以以repl用户登陆主服务器。当然你也可以指定固定Ip。3 mysql GRANT REPLICATION SLAVE ON *.* TO repl192.168.0.% IDENTIFIED BY mysql;(2)找到MySQL安装文件夹修改my.Ini文件。mysql中有好几种日志方式这不是今天的重点。我们只要启动二进制日志log-bin就ok。在[mysqld]下面增加下面几行代码1 server-id1 //给数据库服务的唯一标识一般为大家设置服务器Ip的末尾号2 log-binmaster-bin3 log-bin-indexmaster-bin.index(3)查看日志mysql SHOW MASTER STATUS;-------------------------------------------------------------| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |-------------------------------------------------------------|master-bin.000001 | 1285 | | |-------------------------------------------------------------1 row in set (0.00 sec)重启MySQL服务3、配置Slave从服务器(windows)(1)找到MySQL安装文件夹修改my.ini文件在[mysqld]下面增加下面几行代码1 [mysqld]2 server-id23 relay-log-indexslave-relay-bin.index4 relay-logslave-relay-bin重启MySQL服务(2)连接Masterchange master to master_host192.168.0.104, //Master 服务器Ipmaster_port3306,master_userrepl,master_passwordmysql,master_log_filemaster-bin.000001,//Master服务器产生的日志master_log_pos0;(3)启动Slavestart slave;4、Slave从服务器(Ubuntu)(1)找到MySQL安装文件夹修改my.cnf文件,vim my.cnf s(2) ./support-files/myql.server restart 重启MySQL服务 , ./bin/mysql 进入MySQL命令窗口(3)连接Masterchange master to master_host192.168.0.104, //Master 服务器Ipmaster_port3306,master_userrepl,master_passwordmysql,master_log_filemaster-bin.000001,//Master服务器产生的日志master_log_pos0;(4)启动Slavestart slave;OK所有配置都完成了这时候大家可以在Master Mysql 中进行测试了因为我们监视的时Master mysql 所有操作日志所以你的任何改变主服务器数据库的操作都会同步到从服务器上。创建个数据库表试试吧。。。文章引自---www.cnblogs.com/alvin_xp/p/4162249.html