MySQL主从复制以及常见的一些问题处理

在本地Windows环境下配置MySQL的主从复制

首先你要有两个mysql环境  并设置好端口号 一个3306  一个3307

配置mysql的环境变量

[mysqld]

#mysqld 配置

port=3307  #

basedir=D:\Mysql_Server_5.6.24

datadir=D:\Mysql_Server_5.6.24\data

 

#日志配置

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

long_query_time=2

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

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


使用管理员打开CMD窗口

跳转到mysql的bin目录 

mysqld -install


启动MySQL服务

       netstart mysql   启动mysql服务

       Net stop mysql   停止mysql服务

如果启动失败

1.查看MySQL服务是否正确

2.有问题使用 sc create  MySQL 3307

3.net start MySQL 3307

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

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

 

GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*

TO weijie@'%'

IDENTIFIED BY '123456';

flush privileges; //刷新权限

配置主服务器

在MySQL配置文件加入:

server-id = 1; #主服务器master的id

log-bin = mysql-bin; #二进制变更日志

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


配置从服务器

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

log_bin           = mysql-bin

server_id         = 2

relay_log        = mysql-relay-bin

log_slave_updates = 1

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

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

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


一些命令

#链接主库

CHANGE MASTER TO master_host = '127.0.0.1',
 master_user = 'weijie',
 master_password = '123456',
 master_log_file = 'mysql-bin.000001',
 master_log_pos = 107;

#启动从库

start slave

#停止从库

stop slave

#查看从库状态

show slave status

标红的是yes  就配置成功了。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值