[转帖]Mysql Duplicate(主从机)配置_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1498 | 回复: 0   主题: [转帖]Mysql Duplicate(主从机)配置        下一篇 
冰释清风
注册用户
等级:新兵
经验:71
发帖:7
精华:0
注册:2016-9-26
状态:离线
发送短消息息给冰释清风 加好友    发送短消息息给冰释清风 发消息
发表于: IP:您无权察看 2018-7-16 14:32:08 | [全部帖] [楼主帖] 楼主

好久没来写博客了,发现人都懒了。呵呵!记得去年研究完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




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论