资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
一,mysql replication 是什么,干什么用的MySQL replication 提供了数据库复制的功能,可以实现多个数据库实时同步,具体如果下图:我们为什么要用 mysql replication 呢,当你的网站一天的独立 IP 流量能达到100W 时,全部流量能达到 1000W 时,单个服务器,根本无法满足现有需 要,100W,1000W 就是举个例子。尽管你做了许多的技术上面的措施,比如内存缓存(如 memcache),文件缓存啊,对于大数据量表进行分表啊等 等,还是网站还是挺慢的(这可能有多方面原因),在这儿只是以 MYSQL 为例。二,mysql replication 的安装和配置mysql 3.23.15 以后,装 mysql 的时候,就自带有 mysql replication。我四年前做开发的,那个时候,我接触的 mysql4,如果现在还有用 mysql3 的,那我就表示无语了。1)安装 mysql下个 mysql,安装一下,导入表和内容。我就不在这儿详细说了。2)在 192.168.1.91 上修改 my.inia,在 192.168.1.91 上修改 mysql 的配置文件 my.ini,master 是 windows 系统server-id=1 binlog-do-db=test1 auto_increment_offset= 2 log-bin=d:/wamp/mysql/master-bin.log log-bin-index = d:/wamp/mysql/master-log-bin.index log-error = d:/wamp/mysql/master-error.log relay-log = d:/wamp/mysql/slave-relay.log relay-log-info-file = d:/wamp/mysql/slave-relay-log.info relay-log-index = d:/wamp/mysql/slave-relay-log.index set-variable=max_connections=500b, 其次仍然在该区域修改, 配置为以该机为 slavemaster-host=192.168.1.5 master-user=xtajmd master-password=xtajmd master-port=3306 master-connect-retry=60 replicate-do-db=test1 log-slave-updatesmysql replication 互为主从的安装及配置,以及数据同步一,mysql replication 是什么,干什么用的MySQL replication 提供了数据库复制的功能,可以实现多个数据库实时同步,具体如果下图:mysql replication 数据同步mysql replication 数据同步我们为什么要用 mysql replication 呢,当你的网站一天的独立 IP 流量能达到100W 时,全部流量能达到 1000W 时,单个服务器,根本无法满足现有需 要,100W,1000W 就是举个例子。尽管你做了许多的技术上面的措施,比如内存缓存(如 memcache),文件缓存啊,对于大数据量表进行分表啊等 等,还是网站还是挺慢的(这可能有多方面原因),在这儿只是以 MYSQL 为例。二,mysql replication 的安装和配置mysql 3.23.15 以后,装 mysql 的时候,就自带有 mysql replication。我四年前做开发的,那个时候,我接触的 mysql4,如果现在还有用 mysql3 的,那我就表示无语了。1)安装 mysql下个 mysql,安装一下,导入表和内容。我就不在这儿详细说了。2)在 192.168.1.91 上修改 my.inia,在 192.168.1.91 上修改 mysql 的配置文件 my.ini,master 是 windows 系统查看复制打印?server-id=1binlog-do-db=test1auto_increment_offset= 2log-bin=d:/wamp/mysql/master-bin.loglog-bin-index = d:/wamp/mysql/master-log-bin.indexlog-error = d:/wamp/mysql/master-error.logrelay-log = d:/wamp/mysql/slave-relay.logrelay-log-info-file = d:/wamp/mysql/slave-relay-log.inforelay-log-index = d:/wamp/mysql/slave-relay-log.indexset-variable=max_connections=500 b, 其次仍然在该区域修改, 配置为以该机为 slave查看复制打印?master-host=192.168.1.5master-user=xtajmdmaster-password=xtajmdmaster-port=3306master-connect-retry=60replicate-do-db=test1log-slave-updates 解释:server-id=1 表示是本机的序号为 1,一般来讲就是 master 的意思.binlog-do-db=test1 表示需要备份的数据库是 test 这个数据库,replicate-do-db=test1 表示同步 test 数据库;如果需要备份多个数据库,那么应该写多行,如下所示:binlog-do-db=test1binlog-do-db=test2binlog-do-db=test3log-bin 表示打开 binlog,打开该选项才可以通过 I/O 写到 Slave 的 relay-log,也是可以进行 replication 的前提;auto_increment_increment 定义下一次 AUTO_INCREMENT 的步长auto_increment_offset= 1 定义 AUTO_INCREMENT 的起点值这两个参数用于避免多 master 情况下,多个 master 同时存取字段类型为AUTO_INCREMENT 的冲突。其它几个字段为日志文件配置信息set-variable=max_connections=500 设定数据库最大连接数为 500master-host=192.168.1.91 表示本机做 slave 时的 master 为 192.168.1.91;master-user=xtajmd 这里表示 master(192.168.1.91)上开放的一个有权限的用户,使其可以从 slave 连接到 master 并进行复制; 建议两台主机的授权用户和密码完全相同。master-password=xtajmd 表示授权用户的密码;master-port=3306 表示 master(192.168.1.91)上 MySQL 服务 Listen3306 端口;master-connect-retry=60 同步间隔时间;log-slave-updates:从 master 读到的更新操作都记录到 slave 二进制日志中3)在 192.168.1.5 上修改 my.cnfvi my.cnf找到# The MySQL servermysqld在 mysqld 里面加上以下部分server-id=2 #表示本机序号,不要和主机相同 binlog-do-db=test1 log-bin=/usr/local/mysql/master-bin.log log-bin-index = /usr/local/mysql/master-log-bin.index log-error = /usr/local/mysql/master-error.log relay-log = /usr/local/mysql/slave-relay.log relay-log-info-file = /usr/local/mysql/slave-relay-log.info relay-log-index = /usr/local/mysql/slave-relay-log.index set-variable=max_connections=500 master-host=192.168.1.91 master-user=xtajmd master-password=xtajmd master-port=3306 master-connect-retry=60 replicate-do-db=test1 log-slave-updates4),准备二个一样的数据库从一台机器上面的 mysql 中导出一个数据库,什么数据库都行,然后导入到另一台机器的数据中5) 建立账户,分配权限在 192.168.1.91 和 192.168.1.5 上使用 mysql 登陆,分别操作如下操作:GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO xtajmd% IDENTIFIED BY xtajmd;flush在 192.168.1.91 和 192.168.1.5 上分别测试所添加用户能否正常登陆另外一台服务器。在 192.168.1.5 上:mysql -u xtajmd -p -h 192.168.1.91mysql -u xtajmd -p -h 192.168.1.91Enter password:Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 11Server version: 5.0.27-community-nt-log MySQL Community Edition (GPL)Type help; or h for help. Type c to clear the buffer.mysql在 192.168.1.91 上:mysql -u xtajmd -p -h 192.168.1.5注意:如果二台 linux 系统间的数据同步的话,请确认两台服务器上 iptables 的3306 端口已经开通,以保证通信正常。如果是 windows 和 linux 系统间的数据同步的话,确保 linux 服务器上iptables 的 3306 端口已经开通,windows 下面防火墙,杀毒软件是不是允许外界通过 3306 来连接本地数据库6) 二台服务器都重起 mysql,查 master,slave 状态,以及注意问题在 192.168.1.91 上mysql show master status;+-+-+-+-+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+-+-+-+-+| master-bin.000072 | 98 | test1 | |+-+-+-+-+1 row in set (0.00 sec)在 192.
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号