一、安装两个MysqL实例读者自行安装(如果安装到同一服务器上,注意MysqL端口不能一致),如图是我安装的两个服务 MysqL主,MysqLslave从:
二、配置主库
1.停止主MysqL:net stop MysqL
2.主库里my.ini文件
[MysqL]
# 设置MysqL客户端默认字符集
default-character-set=utf8
[MysqLd]
#设置3306端口
port = 3306
# 设置MysqL的安装目录
# 设置MysqL数据库的数据的存放目录
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#=========主从复制关键配置=====================
server_id=1 #主库和从库需要不一致,配一个唯一的ID编号,1至32。 手动设定
log-bin=MysqL-bin #二进制文件存放路径,存放在根目录data
#binlog-do-db=test #需要复制的库,多个库用逗号隔开,如果此项不配置所有主库都参与复制
#binlog-ignore-db=MysqL #不需要复制的库,和上项同理
#=========主从复制关键配置=====================
3.保存,重启主库,net start MysqL
4.在主库中建立一个用户(专门用给从库连接的,注意这是在主库里面建立的)
grant replication slave,reload,super on . to myslave@localhost identified by ‘myslave密码’ ;
myslave是用户名,myslave密码是用户对应的密码,localhost也可以写ip
5.刷新权限 flush privileges;
6.show master status; # 找到File 和 Position 的值记录下来
三、配置从库:
1.停止从库,net stop MysqLslave
2.从库my.ini
[MysqL]
# 设置MysqL客户端默认字符集
default-character-set=utf8
[MysqLd]
#设置3306端口
port = 3307
# 设置MysqL的安装目录
# 设置MysqL数据库的数据的存放目录
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#========主从复制关键配置======================
server_id=2 #主库和从库需要不一致
#binlog-do-db=test #和主库说明一致
#binlog-ignore-db=MysqL #和主库说明一致
#========主从复制关键配置======================
3.重启从库,net start MysqLslave并用root登录
4.在从库执行
change master to master_host=’127.0.0.1’,master_user=’myslave’,master_password=’myslave’,master_log_file=’MysqL-bin.000002’,master_log_pos=423;
//————————-
master_host= 这里填你主库的IP。
master_user=’myslave’ 刚才我们创建的那个用户。
master_user=’myslave’ ..不解释。
这就是我们刚才 在主库里面 show master status;得到的值了。自行根据实际情况填写
master_log_file=’MysqL-bin.000002’
master_log_pos=423
如果你的主库还有是其他端口的话,
master_port=端口号
5.从库 执行 stop slave ;再执行 start slave;
6.从库查看 :show slave status
这样就可以了。
四、验证主从复制
完工啦。
感谢原贴:https://www.cnblogs.com/jpfss/p/8143720.html