windows下的mysql主从复制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Chaoren666/article/details/51817119

一、安装Mysql(本地如果没有mysql就需要安装)

1.本地首先需要搭建一套mysql,可以使用集成环境。

2.需要单独在搭建mysql,用来做主从复制

3.解压安装包 [mysql-5.6.24-win32.1432006610.zip]

4. 配置 mysql环境变量 (  修改PATH,在电脑的管理中,添加 D:\MysqlServer5.6\bin )

5. D:\MysqlServer5.6 目录下新建my.ini 配置文件

#mysqld 配置

port=3307

basedir=D:\Mysql_Server_5.6.24

datadir=D:\Mysql_Server_5.6.24\data

 

#日志配置(可不加

log-error=D:\MysqlServer5.6\logs\error.log 

log=D:\MysqlServer5.6\logs\mysql.log 

long_query_time=2 

log-slow-queries=D:\MysqlServer5.6\logs\slowquery.log 

6.使用管理员打开CMD窗口。

在mysql的bin目录下运用mysqld install安装

安装成功后使用 net start mysql进行开启


一、配置Mysql主从复制

1.添加一个mysql主从复制需要的账号

grant 权限 on数据库对象to用户


GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*

TO mysql_backup@'%'

IDENTIFIED BY '123456';

flush privileges;

2.配置主服务器

mysql配置文件加入:

[mysqld]

server-id=1

log-bin=mysql-bin

server-id:为主服务器AID

log-bin:二进制变更日值

 

重启master,运行SHOW MASTER STATUS,输出如下:

3.配置从服务器

Slave的配置与master类似,你同样需要重启slaveMySQL。如下:

log_bin           = mysql-bin

server_id         = 2

relay_log          = mysql-relay-bin

log_slave_updates  = 1

read_only         = 1

server_id是必须的,而且唯一。slave没有必要开启二进制日志,但是在一些情况下,必须设置,例如,如果slave为其它slavemaster,必须设置bin_log。在这里,我们开启了二进制日志,而且显示的命名(默认名称为hostname,但是,如果hostname改变则会出现问题)

relay_log配置中继日志,log_slave_updates表示slave将复制事件写进自己的二进制日志(后面会看到它的用处)

有些人开启了slave的二进制日志,却没有设置log_slave_updates,然后查看slave的数据是否改变,这是一种错误的配置。所以,尽量使用read_only,它防止改变数据(除了特殊的线程)。但是,read_only并是很实用,特别是那些需要在slave上创建表的应用。

#链接主库之前

先在从库中查看主库的状态

show master status

 

#链接主库

CHANGE MASTER TO master_host = '127.0.0.1',

 master_user = 'mysql_backup',

 master_password = '123456',

 master_log_file = 'mysql-bin.000007',

 master_log_pos = 107;


#启动从库

Start slave

#停止从库

Stop slave

#查看从库状态

Show slave status



表示已经链接成功,此时在主库改变表,从库 中数据也会更新

猜你喜欢

转载自blog.csdn.net/Chaoren666/article/details/51817119