如何在单机中配置MySql 5.7的主从同步
1、在主节点上解压缩mysql 5.7压缩包
mysql的目录下创建my.ini配置文件,绑定127.0.0.1 IP地址
[mysqld]
basedir=G:\mysql5.7
datadir=G:\mysql5.7\data
server-id=1
port=3306
bind_address = 127.0.0.1
log-bin= bin.log
sync_binlog =1
character-set-server=utf8mb4
[client]
default-character-set=gbk


2、主节点上初始化MySQL
1)在mysql目录下创建data目录存放mysql的数据文件
2)使用mysqld.exe --initilization --console命令初始化mysql,系统会同时创建root用户并随机生成一个root的密码,需要在控制台记下生成的密码
3)使用系统生成的密码登录mysql后修改root的密码
alter user 'root'@'localhost' identified by 'hxb';
4)更新root用户的host信息为%,便于mysql客户端的登录
update user set host='%' where user='root';
5)运行mysqld:mysqld.exe --console



3、从节点mysql安装前的配置
1)将mysql 5.7压缩包重新解压到一个新的目录,作为从节点
2)创建my.ini配置文件,绑定一个本机的局域网IP地址(192.168.27.20)
[mysqld]
server-id=2
port=3306
bind_address = 192.168.27.20
basedir=O:\\mysql-slave
datadir=O:\mysql-slave\\data
read_only=on
relay_log=relay-bin
character-set-server=utf8mb4
[client]
default-character-set=gbk


4、从节点的mysql初始化可以安装步骤2的方法进行
5、在主节点上创建一个用户同步复制的用户
grant replication slave,replication client on *.* to repuser@'%' identified by 'hxb';

6、在主数据库上创建测试用的数据库和表,如数据库ideadb,以及数据表idea
1)以root用户登录主mysql,创建数据库:mySql>create database ideaddb;
2)在ideadb数据库上创建数据表:ideadb
CREATE TABLE `idea` (
`id` char(12) NOT NULL,
`name` varchar(125) NOT NULL,
`content` varchar(1024) NOT NULL,
`content_file` varchar(255) DEFAULT NULL,
`img_file` varchar(255) DEFAULT NULL,
`author` varchar(50) NOT NULL,
`create_date` date NOT NULL,
`update_date` date DEFAULT NULL,
`version` smallint(2) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
7、1)登录主数据库获取master的日志坐标信息
使用命令:show master status;
这时候需要记录下File(如bin.000006)和Position(如612)的值
2)创建master数据库的快照:
如:O:\mysql-slave\bin>mysqldump.exe -uroot -phxb ideadb -l -F >ideadb.sql
3)设置主节点数据库为主状态
change master to master_host='127.0.0.1',master_user='repuser',master_password='hxb',master_log_file='bin.000006',master_log_pos=612;

8、将主节点的快照数据同步到从节点上
O:\mysql-slave\bin>mysql -h192.168.27.20 -uroot -phxb <ideadb.sql

9、启动从节点的复制线程
1)登录从节点上执行:mysql>change master to master_host='127.0.0.1',master_user='repuser',master_password='hxb',master_log_file='bin.000006',master_log_pos=612;
2)启动线程:mysql>start slave;

10、这样主从配置就好了,这时候我们就可以进行测试
1)在主节点上插入或更新数据到表idea中
2)登录从节点查看idea表内容是否同步成功