mysql主从复制配置实战

目录

原理介绍

环境说明

配置步骤

实例测试

异常问题

 

 


原理介绍

 

环境说明

windows系统

两个mysql,一主一从(同一台机器安装多个mysql方法

master:127.0.0.1:3306    root  123456

slave:127.0.0.1:3307    root  123456

 

配置步骤

  • 配置master库的my.ini (linux下是my.cnf)

在[mysqld]下添加

log-bin=mysql-bin

server-id=1 (这个标识不能跟从库的一样)

 

  • 创建同步账户(直接使用root也可以)

CREATE USER 'slave01'@'127.0.0.%' IDENTIFIED BY '123456';

GRANT REPLICATION SLAVE ON *.* TO 'slave01'@'127.0.0.%';

FLUSH PRIVILEGES;

 

  • 查看主机状态

Show master status;

 

  • 配置从库my.ini文件(linux下是my.cnf)

设置server-id=2 (不能个主库一样)

 

  • 从库执行监视主机日志语句

change master to master_host='127.0.0.1',

master_user='slave01',

master_password='123456',

master_log_file='mysql-bin.000002', #这个要和上面的file对应

master_log_pos=430;   #这个要和上面的Position对应

 

 

 

  • 启动从机复制,查看从机状态

Start slave;

Show slave status\G;

 

实例测试

  • 主库创建一张表

CREATE TABLE `test_1` (

  `id` varchar(64) NOT NULL COMMENT '编号',

  `name` varchar(100) DEFAULT NULL COMMENT '名称',

  `sex` char(1) DEFAULT NULL COMMENT '性别',

  PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='测试表';

 

查看从库

 

  • 主库插入一条数据

INSERT INTO test_1 VALUES ('1111','张三','1');

 

查看从库

 

 

 

 异常问题

  • Slave_IO_Running: NO

由于从库我是直接复制出来的,所以从库的uuid跟主库是一致的,因此会导致这个问题,只要修改从库auto.cnf(C:\ProgramData\MySQL\MySQL Server 5.7-s1\Data中)的uuid后,重启数据库。

 

 

读写分离将在下一篇介绍。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章