[mysql]MySQL主从复制(linux主+windows从)-阿里云开发者社区

开发者社区> 数据库> 正文

[mysql]MySQL主从复制(linux主+windows从)

简介: 平台:windows/linux(ubuntu14.04) 版本:mysql5.5.XX 注:在mysql主从复制中,分为:主mysql(master),从mysql(slaver);本次例子,将是一个Master和一个...

平台:windows/linux(ubuntu14.04)
版本:mysql5.5.XX

注:在mysql主从复制中,分为:主mysql(master),从mysql(slaver);本次例子,将是一个Master和一个slaver(实际工作中,常常会有多个master,多个slaver);

*本次实例,在ubuntu14.04系统上mysql作为master;windows下的mysql作为slaver;

1)master端配置
例子中使用两台虚拟机,IP分别为192.168.233.135(MASTER),192.168.233.131(SLAVE)。
(注:先关闭mysql服务,因为我们需要修改mysql配置文件;
Service mysql top

修改master端my.cnfi中[mysqld]选项(ubuntu路径为/etc/mysql/my.cnf),添加如下内容:
Server_id = 1 //作为master的id
Log_bin = /var/log/mysql/mysql-bin.log //Log二进制日志
Bind-address = 192.168.233.135 //绑定的地址

(binlog-do-db:指定同步的数据库
Binlog-ignore-db:指定忽略的数据库,同上者只需存在一个类型即可。
)

这里写图片描述

保存后退出;

重启mysql:
Sudo service mysql restart;

这里写图片描述

进入mysql;
Sudo mysql -u root -p
这里写图片描述

查看master状态:
Show master status\G
这里写图片描述
将显示的信息中的File和Position值给记住,稍后的slaver端我们需要;(这里为)

远程登录账户添加和授权(这一步的目的是可以在192.168.233.131上登录192.168.233.135的mysql数据库):

语句:
Grant all on . to test@192.168.233.131 identified by “test”;
这里授权的是all,mysql手册说明仅用peplication slave权限就足够。

2)slave端的配置
由于slave端是windows这里的配置文件为my.ini
同样进行编辑修改:
在【mysqld】选项
Server-id = 2
Relay-log = win-relay-bin

这里写图片描述
(server-id:服务器slave的标志号
Relay-log:缓冲日志,存储从master转过来的bin-log

进入mysql:
Mysql -u root -p

Slave stop;
这里写图片描述
Change master to
master_host = “192.168.233.132”,
Master_user=”test”,
Master_password=”test”,
Master_log_file=”(刚才记录的File值)”,
Master_log_pos=(刚才记录的position值);
这里写图片描述
然后slave start;

在master端:
这里写图片描述
这里写图片描述
同时,在slave端:
这里写图片描述
Ok,在这里slave端已经同步数据库过来了;
这里写图片描述
不过在slave端,数据库版本不一致,出现了错误;
(所以,大家要记住,mysql主从复制过程,需要数据库版本都一致)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章