windows下的mysql主从同步

mysql主从同步:

1.为什么要主从同步?

在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一。尤其是在大规模系统中,数据库集群已经成为必备的配置之一。集群的好处主要有:查询负载、数据库复制备份等。其中Master负责写操作的负载,也就是说一切写的操作都在Master上进行,而读的操作则分摊到Slave上进行。这样一来的可以大大提高读取的效率。写操作涉及到锁的问题,不管是行锁还是表锁还是块锁,都是比较降低系统执行效率的事情。我们这样的分离是把写操作集中在一个节点上,而读操作其其他的N个节点上进行,从另一个方面有效的提高了读的效率,保证了系统的高可用性。

2.mysql主从同步

我的要同步的两台mysql数据库版本都是mysql5.6,两台电脑都在同一个网段之中。

①修改主数据库my.ini配置:

Server-id = 1  这是数据库ID,此ID是唯一的,ID值不能重复,否则会同步出错;

log-bin = mysql-bin 二进制日志文件,此项为必填项,否则不能同步数据;如果不取名字的话,那么就会以    计算机的名字加编号来命名二进制文件;

binlog-do-db = testcreate  需要同步的数据库,如果还需要同步另外的数据库,那么继续逐条添加,如果    不写,那么默认同步所有的数据库;

binlog-ignore-db = mysql 不需要同步的数据库;

修改完成之后重启mysql服务。

注意点:在linux下,只需要修改/etc/my.cnf即可,但是在windows下,我改了安装目录下的my.ini,发现配置    并不生效,后来我看到了服务中的mysql服务的属性,发现了这么一句话:"C:\Program
Files\MySQL\MySQL      Server 5.6\bin\mysqld.exe" --defaults- file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"
       MySQL56,原来mysql服务读取的配置文件在这里,后来修改了这个路径下的my.ini,重启服务,配置就生效      了。

② 添加主数据库用于同步的账号:

给主数据库授权一个可以进行复制的用户,执行如下命令:

grant replication slave on *.* to ‘slave‘@‘%‘ identified
by ‘123‘;

③显示主数据库的同步信息:

可以看出已经产生了二进制的日志文件信息,mysql的同步就是通过这个二进制日志文件进行同步,主数据库把    对数据库的操作的指令都记录到该日志文件下,从数据库通过读取该文件,来对从数据库中的数据进行修改,
   从而达到主从同步的效果。

④配置从数据库的my.ini

从数据库的话只需要配置server-id,binlog-do-db,binlog-ignore-db即可。

⑤设置从数据库链接到主数据库

在mysql下执行slave stop命令,停止slave服务;

mysql> change master to

-> master_host=‘192.168.1.189‘,

-> master_user=‘slave‘,

-> master_password=‘123‘,

-> master_log_file=‘mysql-bin000014.000001‘,

-> master_log_pos=107;

注意:这里的master_log_file,master_log_pos的值要和master的值一致。否则会无法同步。

执行slave start命令,启动服务。

注意:在这里可能会无法链接到主数据库,需要看主数据库中my.ini中bind 127.0.0.1是否没有被注释,如果     没有,那么只能在本机登录,而不能使用远程登录方式。

⑥验证是否同步:

执行show slave status\G;

得到如下结果则说明同步成功。

也可以在主数据库被同步的表中做crud操作,看从数据库中的数据有无变化。

时间: 2024-10-04 19:28:05

windows下的mysql主从同步的相关文章

Windows下mysql5.5主从同步

前置条件: A主机(作为主服务器) 环境:Win7,mysql5.5 IP:172.17.42.82 B主机(作为从服务器) 环境:Win7,mysql5.5 IP:172.17.42.156 主服务器配置: 1.在A的mysql数据库中建立一个同步专用账户slave 命令:GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO [email protected]'172.17.42.156' IDENTIFIED BY '517na.com'; 注释:17

Linux 下实现Mysql主从同步

一.实验环境准备: 主库(Master):CentOS release 5.9  x86_64 IP:10.45.172.40 mysql Ver 14.12 Distrib 5.0.95 从库CentOS release 5.9  x86_64 IP:10.45.172.37 mysql Ver 14.12 Distrib 5.0.95, 测试是否安装mysql:service mysql restart  或servicemysqld restart 安装mysql安装: 在官方网站下载以下

linux下搭建mysql主从

在master上创建repl账户,用于复制. grant replication slave on *.* to 'repl'@'%' identified by '[email protected]$$W0rd'; flush privileges; 与windows下搭建mysql主从的区别: 二进制日志的路径格式不一样 master: my.cnf部分配置(master): thread_handling = pool-of-threads thread_pool_oversubscrib

Windows下MySQL主从同步

Windows下MySQL主从同步修改master的my.ini配置文件在master中添加一个mysql主从复制需要的账号查看master的status修改slave的my.ini配置文件slave连接master库测试主从同步 Windows下MySQL主从同步 修改master的my.ini配置文件 从mysql官网下载的压缩包中默认是没有my.ini文件的,需要自己在根目录手动建立一个my.ini文件 [mysqld] #设置3310端口 port = 3310 #server-id和l

centos下MySQL主从同步配置

centos下MySQL主从同步配置一.环境 主机: master操作系统:centos 5.3 IP:192.168.1.222 MySQL版本:5.0.77 从机: slave操作系统:centos 5.3 IP:192.168.1.220 MySQL版本:5.0.77 二.创建数据库 分别登录master机和slave机的mysql:mysql –u root –p 创建数据库:create database repl; 三.master机和slave机的相关配置 1.修改master机器

Linux下MySQL主从同步配置

Centos6.5 MySQL主从同步 MySQL版本5.6.25 主服务器:centos6.5 IP:192.168.1.101 从服务器:centos6.5 IP:192.168.1.102 一.主服务器相关配置 1.创建同步账户并指定服务器地址 [[email protected] ~]mysql -uroot -p mysql>use mysql mysql>grant replication slave on *.* to 'testuser'@'192.168.1.102' ide

MYSQL 主从同步故障-Error1062--解决方案

MYSQL 主从同步故障-Error1062-解决方案 公司有两台Mysql服务器之前配置了主从同步,今天用户反映数据有差异,登陆到服务器上查看Mysql主从配置,发现有错误: show slave status \G;  果然出现问题了 Slave_IO_Running: Yes Slave_SQL_Running: No 而且出现了1062错误 Last_SQL_Error: Error 'Duplicate entry '1001-164761-0' for key 'PRIMARY''

mysql主从同步(4)-同步延迟状态考量(seconds_behind_master和pt-heartbea)

一般情况下,我们是通过"show slave status \G;"提供的Seconds_Behind_Master值来衡量mysql主从同步的延迟情况.具体说明见:mysql主从同步(4)-Slave延迟状态监控,这种方法在大多数情况下确实是可行的.但是经验告诉我,仅仅依靠Seconds_Behind_Master的值来监测主从同步数据是否延迟是绝对不可靠的!!! 曾经遇到过的一个坑:Mysql主从环境部署后,刚开始主从数据同步是没问题的,也是通过监控Seconds_Behind_M

Windows下搭建MySql Master-Master Replication

1.首先下载最新版的MySql Server (http://dev.mysql.com/downloads/windows/installer/) 2.安装MySql Server到两台机器上 MySql 1: 192.168.0.104 (以下简称104) MySql 2: 192.168.0.103  (以下简称103) 3. 配置Mysql Server启动Binary Logging. 在104的my.ini文件(一般在C:\ProgramData\MySql\MySql Server