WIN10下MySQL主从详细配置

一、基本信息

主机信息:

127.0.0.1:3307

从机信息:

127.0.0.1:3308

二、主机配置

  • 1、主机完整配置(my.ini)
[client]
port=3307
default-character-set = utf8

[mysql]
default-character-set = utf8

[mysqldump]
default-character-set = utf8

[mysqld]
port=3307
character_set_server = utf8
character-set-server = utf8
basedir = E:/mysql-5.7.10-master-slave/mysql-5.7.10-master
datadir = E:/mysql-5.7.10-master-slave/mysql-5.7.10-master/data

max_allowed_packet = 120M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

server_id=2
log-bin=mysql-bin-master
binlog_format=mixed
expire_logs_days=7
socket = E:/mysql-5.7.10-master-slave/mysql-5.7.10-master/data/mysql.sock

#忽略指定库
binlog_ignore_db = information_schema
binlog_ignore_db = mysql
binlog_ignore_db = performance_schema
binlog_ignore_db = sys

#innodb_buffer_pool_size = 2G
#innodb_log_file_size = 1G

#skip-grant-tables

 

  • 2、建立账户并赋予主从权限并刷新
CREATE  USER  'songjy'@'127.0.0.%'  IDENTIFIED  BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'songjy'@'127.0.0.%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;

如下图:

  • 3、查看主机状态:
show master status\G

记住其中上述File、Position值,在从库配置会用到!

三、从库配置

  • 1、从机完整配置(my.ini)
[client]
port=3308
default-character-set = utf8

[mysql]
default-character-set = utf8

[mysqldump]
default-character-set = utf8

[mysqld]
port=3308
character_set_server = utf8
character-set-server = utf8
basedir = E:/mysql-5.7.10-master-slave/mysql-5.7.10-slave
datadir = E:/mysql-5.7.10-master-slave/mysql-5.7.10-slave/data

max_allowed_packet = 120M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

server_id=3

log-bin=mysql-bin-slave
expire_logs_days=7
socket = E:/mysql-5.7.10-master-slave/mysql-5.7.10-slave/data/mysql.sock

#从库设置为只读模式
read-only=1

#忽略指定库
binlog_ignore_db = information_schema
binlog_ignore_db = mysql
binlog_ignore_db = performance_schema
binlog_ignore_db = sys


relay_log_recovery=1
relay-log=mysqld-relay-bin

#innodb_buffer_pool_size = 2G
#innodb_log_file_size = 1G

#skip-grant-tables
  • 2、关闭同步线程
STOP SLAVE;
  • 3、设置同步账号信息
CHANGE MASTER TO MASTER_HOST = '127.0.0.1',
MASTER_PORT = 3307,
MASTER_USER = 'songjy',
MASTER_PASSWORD = '123456',
MASTER_LOG_FILE = 'mysql-bin-master.000001',
MASTER_LOG_POS = 154 ;
  • 4、启动同步线程
START SLAVE;

如下图:

上述MASTER_LOG_FILE和MASTER_LOG_POS配置项值来自主库状态显示的值

  • 5、查看从机状态
show slave status\G

当看到红框中所示状态都是Yes,说明主从配置成功

四、示例测试SQL

在主库中执行如下SQL后,可以在从库中查看效果,会看到主从库数据一致!

CREATE DATABASE `test` CHARACTER SET utf8mb4;

CREATE TABLE `test`.`tb_test` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  `user_name` VARCHAR (64) NOT NULL COMMENT '用户名',
  `pass_word` VARCHAR (32) NOT NULL COMMENT '密码',
  PRIMARY KEY (`id`)
) CHARSET = utf8mb4 COMMENT = '用户表' ;

INSERT INTO(`user_name`,`pass_word`) VALUES('songjy','123456');

 

五、主意事项

数据的复制是顺序的,任何在从机上失败都会导致主从配置失效,所以要时刻关注Slave_IO_Running及Slave_SQL_Running的状态,其中有一个配置不是YES,则必须手动处理。目前市面上很少会用这种主从模式也是主要原因之一,建议可以采用ShardingSphere的广播模式代替。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值