windows7 mysql 主从配置_mysql 5.7 主从同步配置(windows)

今天在做mysql的主从同步的时候碰到了一些问题,在这里整理一下。

首先趁着五一假期,主库停机,复制data至从库(时间比较长)。

1、配置主库,主要是my.ini增加如下选项:

# Binary Logging.

# log-bin

log-bin="D:/mysql/mysql/log/mysql-bin/"

# 使binlog在每N次binlog写入后与硬盘 同步

sync-binlog=1

# 1天时间自动清理二进制日志

expire_logs_days=1

# 需要同步的数据库

binlog-do-db=database1

binlog-do-db=database2

binlog-do-db=database3

# 不需要同步的数据库

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

binlog-ignore-db=performance_schema

binlog-ignore-db=database5

binlog-ignore-db=database6

# Error Logging.

log-error="data.err"

# Server Id,每个库都必须独立的分配id.

server-id=2

port=6666

从库配置:

replicate_wild_do_table=database1.%

replicate_wild_do_table=database2.%

replicate_wild_do_table=database3.%

replicate_wild_ignore_table=mysql.%

replicate_wild_ignore_table=information_schema.%

replicate_wild_ignore_table=performance_schema.%

replicate_wild_ignore_table=database5.%

replicate_wild_ignore_table=database6.%

# 二进制日志自动删除的天数

expire_logs_days=1

# Server Id.

server-id=5

port=6667

配置文件的选项如上,其余则须通过命令行的形式来进行…,(抱怨:oracle就是让mysql越来越难用)

接下来时命令行的内容:

主库:

#进入到mysql的bin目录下,执行

#重启主数据库,然后在主数据库中建立一个备份账户

mysql -h localhost -u root -p

输入密码

进入mysql

mysql>show databases;

mysql>grant replication slave on *.* to 'slave_username'@'192.168.1.12' identified by 'slave_password' ;

mysql>flush privileges;

#显示主服务器的状态信息,并且找到File 和 Position 的值记录下来;

mysql>show master status \G;

#记下File 和 Position,从库配置要用

从库:

#进入到mysql的bin目录下,执行

#重启从数据库,设置登录主数据库的账号和密码等信息,然后启动slave

mysql>change master to master_host='192.168.1.2',master_user='slave_username',master_password='slave_password', master_log_file='.000001',master_log_pos=0;

mysql>start slave;

#此处加\G的意思是格式化输出,否则输出乱七八糟,看不清楚

mysql>show slave status \G;

#如果出现: Slave_IO_Running: Yes Slave_SQL_Running: Yes以上两项都为Yes,那说明没问题了

问题汇总:

1.问题:unknown variable ‘master-host=192.168.8.1’

解决办法:Mysql版本从5.1.7以后开始就不支持“master-host”类似的参数,需要在mysql控制台中使用change master to 命令添加相关信息,而且中横杠’-‘改成了下横杠’_’…

2.问题:mysqlbinlog: [ERROR] unknown option ‘–no-beep’

解决办法:命令后添加 –no-defualts选项

3.问题:Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.

解决办法:因为copy的时候讲auto.cnf一起copy过来了,就产生了主库和从库UUID重复的问题,删掉auto.cnf,重新启动

4.问题:Got fatal error 1236 from master when reading data from binary log: ‘binlog truncated in the middle of event; consider out of disk space on master; the first event ” at 120, the last event read from ‘D:\mysql\mysql\log\mysql-bin.000001’ at 123, the last byte read from ‘xxx.000001’ at 139.’, Error_code: 1236

解决办法:在从库重新指向到主库下一个可用的binlog file 并且从binlog file初始化的位置开始,执行mysql命令

#此命令一定不要加文件路径,直接写文件名,否则继续报错

mysql> stop slave;

mysql> change master to master_log_file='.000001',master_log_pos=0;

mysql> start slave;

mysql> show slave status;

5.问题:cann’t connect to mysql server 10060,远程无法访问

解决办法:给用户授权远程登录权限

mysql> grant all privileges on . to ‘username’@’%’ identified by ‘password’ with grant option;

6.问题: The innodb_system data file ‘ibdata1’ must be writable 解决办法:赋予ibdata1写入权限

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值