Mysql的AB复制

上传人:人*** 文档编号:491758578 上传时间:2024-01-28 格式:DOC 页数:8 大小:68KB
返回 下载 相关 举报
Mysql的AB复制_第1页
第1页 / 共8页
Mysql的AB复制_第2页
第2页 / 共8页
Mysql的AB复制_第3页
第3页 / 共8页
Mysql的AB复制_第4页
第4页 / 共8页
Mysql的AB复制_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《Mysql的AB复制》由会员分享,可在线阅读,更多相关《Mysql的AB复制(8页珍藏版)》请在金锄头文库上搜索。

1、Mysql的AB复制-mysql备份同步关于本文档文档信息文档名称:Mysql的AB复制文档类型:mysql备份同步作 者:李江雄技术 顾问:李希说 明:Mysql的AB复制文件名称 :Mysql的AB复制修订历史版本章节类型日期作者备注1.0新增2011-3-30李江雄内容范围本文档的目的是帮助高维信诚技术人员做mysql的异地备份同步,可以用作主从复制,主主复制。主从复制应用到备份,可以用于数据库的读写分离;主主复制可以应用于mysql的负载均衡。适用的对象本文档仅适用高维信诚所有技术人员及相关应用人员。目 录配置环境3Mysql的安装3Mysql主机配置4Mysql从机配置4进行测试5配

2、置环境Mysql主数据库真实IP 192.168.100.44Mysql主数据库真实IP 192.168.100.45Mysql的安装Mysql主从数据库的安装一样:rootlocalhost src# rpm -ivh MySQL-server-community-5.1.44-0.rhel5. x86_64.rpm安装完成后在/usr/share/mysql目录中会有一个mysql的启动脚本mysql.server及示例配置文件等(如my-f、my-f、my-f)rootlocalhost src# cp /usr/share/mysql/my-f /etc/frpm包安装完后自动将mys

3、ql安装成系统服务,所以可以使用下面命令启动、停止mysql启动mysql/etc/init.d/mysql start 或 service mysql start停止mysql/etc/init.d/mysql stop 或 service mysql stop安装mysql客户端rootlocalhost src# rpm -ivh MySQL-client-community-5.1.44-0.rhel5. x86_64.rpmmysql安装好后目录结构如下:工具程序在/usr/bin目录中ls /usr/bin/mysql*服务器程序/usr/sbin/mysqld数据目录/var/l

4、ib/mysql默认情况下mysql将错误日志文件、二进制日志文件及进程文件写在/var/lib/mysql目录中,如localhost.err、localhost.pid、localhost-bin.001等要改变这些情况可以修改/etc/f文件如将日志文件写在/var/log目录中,可以在f文件中加入下面两行:mysqld_safeerr-log = /var/log/mysqld.log有个实用程序/usr/bin/mysql_install_db,该程序可以用来初始化 mysql数据库,即创建/var/log/mysql目录,及创建mysql数据库(mysql授权表等信息)及test数

5、据库(空库),如果不小心删 除了/var/log/mysql目录可以通过该程序来初始化.安装mysql开发端rootlocalhost src# rpm -ivh MySQL-devel-community-5.1.44-0.rhel5. x86_64.rpmrootlocalhost src# rpm ivh MySQL-shared-community-5.1.44-1.rhel5.x86_64.rpmrootlocalhost src# rpm ivh MySQL-shared-compat-5.1.44-1.rhel5.x86_64.rpm在shell提示符下用mysqladmin命令

6、来改root用户口令rootlocalhost src#mysqladmin -uroot password covics1035Mysql主机配置安装完毕之后修改主机配置文件参数,提高性能。主库增加用户,用于丛库读取主库日志登陆到mysqlrootlocalhost src#mysql -uroot -pmysqlgrant replication slave,reload,super on *.* to slave192.168.100.45 identified by covics123接下来备份Master上的数据,首先执行如下SQL语句:mysqlFLUSH TABLES WITH

7、READ LOCK;不要退出这个终端,否则这个锁就不生效;接着导出数据,可以直接打包压缩数据文件rootlocalhost src#cd /var/lib/mysqltar zcf data.tar.gz ./mysql然后将这些数据拷贝到Slave服务器上,解开,设置好正确的权限及属主等;之后,执行 UNLOCK TABLES 语句来释放锁。为了保证事务InnoDB复制设置的最大可能的耐受性和一致性,应在主服务器的f文件中使用innodb_flush_log_at_trx_commit=1和sync-binlog=1InnoDB复制里一个小的限制是LOAD TABLE FROM MASTER

8、不对InnoDB类型表起作用。有两种可能的工作区: 转储主服务器上的表并导入转储文件到从服务器。 在用LOAD TABLE tbl_name FROM MASTER建立复制之前,在主服务器上使用ALTER TABLE tbl_name TYPE=MyISAM,并且随后使用ALTER TABLE把主表转换回InnoDB。 由于我们的数据库都是已经建立好了的,所以一定要先备份数据库还原到从数据库服务器,可以采用以下备份主数据库:mysqldump -uroot -p -opt mastercontrolmastercontrol.sql然后到从服务器先建立一个一样名字的数据库mastercontr

9、ol,然后通过脚本还原数据库,命令如下:mysql -uroot -p mastercontrolSHOW GRANTS; 停从库,修改从库/etc/f,增加选项:mysqldserver-id=2master-host=192.168.100.44master-user=slavemaster-password=covics123 replicate-ignore-db=mysql #略过同步的数据库名,如果有多个,请设置多次replicate-do-db = test #想要同步的数据库名,如果有多个,请设置多次log-warnings启动从库,进行主从库数据同步rootlocalhost

10、 src#mysql -uroot -pmysqlstart slave;mysqlload data from master;进行测试登陆到主数据库mysqluse test;mysqlcreate table wen (name char(20),phone char(20);mysqlinsert into wen values(abc,0532555555);mysqlslect * from wen;打开从库,察看:mysqluse new;mysql show tables;能看到新建的表wen那就说明已经成功了查看mysql的复制状态:show master statusG;手动

11、复制:mysql CHANGE MASTER TO - MASTER_HOST=master_host_name, - MASTER_USER=master_user_name, - MASTER_PASSWORD=master_pass, - MASTER_LOG_FILE=recorded_log_file_name, - MASTER_LOG_POS=recorded_log_position;MYSQL数据库没有增量备份的机制,所以如果面对比较大的数据量,并且需要时时更新时,我们可以利用mysql提供的replication机制来间接实现增量备份功能。Replication是一种异步复

12、制过程。Mysql的AB复制方式大致分为4种:常规的一主一从模式、双主模式、一主多从模式、多主多从模式等,可以根据实际情况来搭建环境。本文采用最常规的一主一从的模式。Mysql的AB复制功能在版本上需要注意,MYSQL的版本都要高于3.2,还有一个基本的原则就是作为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本。主IP:200.200.200.2 以下对主mysql称为master从IP:200.200.200.15 以下对从mysql称为slave一,首先配置主mysql 。1,进入mysql的命令行,在master上添加slave复制用的账号,使用一下

13、命令: mysql grant replication slave on *.* to rs2200.200.200.15 identified by rs2;2,对mysql的配置文件进行修改,即/etc/f : mysqld server-id = 1 # master的id号 log-bin=mysql-bin.log # 开启二进制日志,名称是mysql-bin.0xxxxx long_query_time =1 # 慢查询超时记录,要根据实际情况设置 log-slow-queries=slowqueris.log # 慢查询日志存放的位置 binlog-do-db=zzz # 记录zzz这个库的日志 binlog-ignore-db = mysql

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号