在不停止主服务器下配置从服务器
备份服务器
mysqlversion:5.1.56
master:192.168.110.2
slave:192.168.110.10
在master上赋予权限
GRANTREPLICATIONSLAVEON*.*TO'repl'@'192.168.110.10'IDENTIFIEDBY'slavepass';
备份你需要复制的数据库
mysqldump-u-p-h127.0.0.1--master-datatest>test.sql
配置从服务器,确保分配一个唯一的ID号并启动服务器
server-id=2
replicate-wild-do-table=test.%需要同步的数据库,如果没有定义,则同步所有
replicate-wild-ignore-table=%.%忽略其它数据库的同步
log-bin=mysql-bin
master-host=192.168.110.2
master-user=repl
master-password=slavepass
在从服务器上执行test.sql
在从服务器上执行slavestart
如果没有配置master-host/master-user/master-password
需执行
CHANGEMASTERTO
->MASTER_HOST='master_host_name',
->MASTER_USER='master_user_name',
->MASTER_PASSWORD='master_pass',
->MASTER_LOG_FILE='recorded_log_file_name',在test.sql中提供
->MASTER_LOG_POS=recorded_log_position;在test.sql中提供
就OK了
注:这里最主要的是--master-data参数,这个会记录当前master的二进制日志名和偏移量
问题:当备份的数据库很大并且有持续的数据写入时会不会出错?
例如当前备份数据库4G,持续写入。二进制日志名mysql-bin.000016偏移量12456
此时使用mysqldump备份数据库,记录二进制日志名和偏移量,由于有数据写入,会不会有些备份的数据对应的二进制日志名和偏移量就不是记录的,比如是mysql-bin.00001612556
此时就会造成复制问题。
解决方法:在备份时加上readlock,但会防止数据的写入
某些从服务器复制选项按特殊方式处理,当从服务器启动时如果master.info文件存在并且包含选项值,它们将被忽略掉。master.info优先于my.cnf,配置下面的选项按这种方式处理:
·--master-host
·--master-user
·--master-password
·--master-port
·--master-connect-retry
·--master-ssl
·--master-ssl-ca
·--master-ssl-capath
·--master-ssl-cert
·--master-ssl-cipher
·--master-ssl-key
这时只能使用changemasterto语句
Tags:备份服务器,在不停止主服务器下配置从服务器
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。