现在的位置: 首页 > 综合 > 正文

Mysql Duplicate(主从机)配置

2013年07月18日 ⁄ 综合 ⁄ 共 1695字 ⁄ 字号 评论关闭

好久没来写博客了,发现人都懒了。呵呵!记得去年研究完mysql duplicate之后就懒得再弄,最近把它用在生产环境,发现还不错。数据库安全了很多。

 

由于mysql网上说集群需要至少要5-6台机器,而且性能提高不大,不适合规模较小的应用。所以我们采用的是主从机方案,可以一定程度上满足要求,从机平时用来作备份,及数据分析,主机用来生产。以下详细记录一下过程,为已后留个记录。

 

一、首先需要做的是在两台机器上安装mysq,版本要一致,mysql官方说duplicate在不断改进过程中,所以版本要一致。

 

二、需要确保数据库及表内容一致。我当时直接将生产机上(需要程序都停下来)的所有内容,连数据库,及表,scp拷贝到从机上。

 

三、在主机上创建主从机专用用户。命令如下:

GRANT REPLICATION SLAVE ON *.* TO 'xxx'@'%192.168.1.57' IDENTIFIED BY 'xxx‘;

FLUSH PRIVILEGES;

 

四、主机修改配置文件(实际上不修改)

server-id       = 1
log-bin=mysql-bin

 

五、从机修改配置文件

由于从机原来配置也是主机形式,需要注掉上面俩行。

#server-id       = 1
#log-bin=mysql-bin

 

server-id       = 2
master-host     =   192.168.1.1
master-user     =  xxx
master-password =  xxx
master-port     =  3306

report-host      = 192.168.1.2 

 

六、启动主从机,查寻状态

SHOW
MASTER STATUS

SHOW SLAVE  STATUS

 

如果主机显示类似如下状态Position不为0,表示正确。

| File                          | Position     | Binlog_Do_DB | Binlog_Ignore_DB |
|mysql-bin.000006 |          7809 |                              |

 

如果发现从机 Last_SQL_Errno, Last_SQL_Error: 出现什么异常,需要设定忽略。

STOP SLAVE

SET GLOBAL SQL_slave_SKIP_COUNTER = n



START SLAVE

 

如果看见如下俩行内容,说明slave从机工作正常。

 Slave_IO_Running: Yes
 Slave_SQL_Running: Yes

六、其他命令:

显示主机状态命令

SHOW
MASTER STATUS

显示主从状态命令

SHOW SLAVE  STATUS

开始从机工作

START SLAVE

停止从机工作

STOP SLAVE

设定跳过

SET GLOBAL SQL_slave_SKIP_COUNTER = n


显示连入主机的从机

show slave hosts


七、还找其它配置及命令

配置:

report-host xxx.xxx.xx.xxx 设置之后,主机可以用show slave hosts查到从机

 

忽略错误

slave-skip-errors=1062,1053

忽略所有错误

slave-skip-errors=all

 

复制特定数据库(可以设定多个)

replicate-do-db=db_name

忽略

复制特定数据库

replicate-ignore-db=db_name

 

复制特定表

replicate-do-table=db_name.tbl_name

忽略复制特定表

replicate-ignore-table=db_name.tbl_name



同上但可以加模糊匹配‘%
’和‘_

replicate-wild-do-table=db_name.tbl_name

replicate-wild-ignore-table=db_name.tbl_name


 

参考文档地址:

http://lxqun.blogbus.com/logs/14709048.html

http://dev.mysql.com/doc/refman/5.1/zh/replication.html

 

抱歉!评论已关闭.