Mysql安装与配置双主复制--win10

一、安装mysql,配置账户和权限
1.下载免安装版mysql,配置环境变量后,mysql根目录下,新建data文件夹
2.初始化data: mysqld --initialize-insecure 自动生成无密码的root用户;mysqld --initialize : 是自动生成随机密码用户;
3.修改my.ini文件,具体见====中内容======
4.安装服务: mysqld --install MySQL
5.启动服务: net start MySQL
6.进入MySQL命令行: mysql -uroot
7.创建root: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123.com' WITH GRANT OPTION;
8.修改密码: update mysql.user set authentication_string=password('123.com') where user='root';
9.刷新权限表: flush privileges;
10.忘记密码时: my.ini下mysqld添加 skip-grant-tables,再启动服务进入mysql

二、双主复制的配置
A-->B:

A操作
1.A创建复制账号:mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO backup@'%' IDENTIFIED BY '123456';
2.配置A数据库my.ini文件,具体见====中内容======主要指明了serverid,指向的db,增序列奇偶化
3.查看当前MASTER信息: mysql> SHOW MASTER STATUS;
B操作
4.配置B数据库my.ini文件,具体见====中内容======主要指明了serverid,指向的db,增序列奇偶化
5.在B数据库配置: mysql> CHANGE MASTER TO MASTER_HOST='A服务器的IP',
-> MASTER_USER='backup',
-> MASTER_PASSWORD='123456',
-> MASTER_LOG_FILE='mysql-bin.000004',
-> MASTER_LOG_POS=700;
其中,user/password为账号密码,file和pos均为A数据库下show master status时的字段值
6.运行SLAVE START SLAVE;
7.查看运行状态 SHOW SLAVE STATUS;
此时如果配置不正确,则重启数据库服务器,CHANGE之前停止STOP SLAVE;
重复5步骤,直至SLAVE状态为等待接受指令;
配置完成后针对my.ini中指出的DB,修改A,则修改B

B-->A:
B操作
1.B创建复制账号:mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO backup@'%' IDENTIFIED BY '123456';
2.my.ini在A和B均已配置
3.查看当前MASTER信息: mysql> SHOW MASTER STATUS;
A操作
4.my.ini在A和B均已配置
5.在A数据库配置: mysql> CHANGE MASTER TO MASTER_HOST='B服务器的IP',
-> MASTER_USER='backup',
-> MASTER_PASSWORD='123456',
-> MASTER_LOG_FILE='mysql-bin.000004',
-> MASTER_LOG_POS=700;
其中,user/password为账号密码,file和pos均为B数据库下show master status时的字段值
6.运行SLAVE START SLAVE;
7.查看运行状态 SHOW SLAVE STATUS;
此时如果配置不正确,则重启数据库服务器,CHANGE之前停止STOP SLAVE;
重复5步骤,直至SLAVE状态为等待接受指令;
配置完成后针对my.ini中指出的DB,修改B,则修改A

通过数据库软件登陆两数据库验证是否双主复制。


=========================以下为双主配置文件=========================
A配置:
[mysqld]
port = 3306
basedir="D:/mysql"
datadir="D:/mysql/data"
default-storage-engine=INNODB

#replication setting
server-id=1
log-bin=mysql-bin

#master setting
binlog-do-db=testDB
auto_increment_offset=1
auto_increment_increment=2

#slave setting
relay-log=relay-bin
replicate-do-db=testDB
# 表示slave将复制事件写进自己的二进制日志
log-slave-updates=on


B配置;
[mysqld]
port = 3306
basedir="D:/mysql"
datadir="D:/mysql/data"
default-storage-engine=INNODB

#replication setting
server-id=2
log-bin=mysql-bin

#master setting
binlog-do-db=testDB
auto_increment_offset=2
auto_increment_increment=2

#slave setting
relay-log=relay-bin
replicate-do-db=testDB
# 表示slave将复制事件写进自己的二进制日志
log-slave-updates=on
=========================END=========================

原文地址:https://www.cnblogs.com/zhaosp/p/7060303.html