myslave是用户名,myslave密码是用户对应的密码,localhost也可以写ip一、概述
mysql主(称master)从(称为slave)复制的原理:
- master将数据的改变记录到二进制文件(binary log)中,也就是配置文件中log-bin指定的文件(这些记录叫做二进制日志文件事件,binary log events)
- slave通过I/O线程(发请求给master获取master中数据)将master的binary log的读取到它的中继日志(Relay log)
- slave通过SQL线程(对Relay log进行监听)将Relay log 中的进行解析(将relay log中的内容解析成mater中执行过的Query)重做
首先安装多一个mysql服务器,最后不要复制原有的数据库,可能会再后续配置主从时候,service-id会出问题,具体其他操作可以参考
可参考:在同一个window环境下安装多个MySQL服务 - 千手修罗-锦 - 博客园
三、进行master关键配置- 开启binlog日志
查看log_bin的状态,Value为OFF代表没有开启,在主mysql的my.ini中进下图下图的配置后,再重新开启mysql服务,重新执行查看log_bin状态语句,若Value为ON,代表开启成功。
#=========主从复制关键配置===================== #主库和从库需要不一致,配一个唯一的ID编号,1至32。 手动设定 server_id=1 #log-bin=mysql-bin #二进制文件存放路径,存放在根目录data #Binary Loggin 开启binlog #log-bin=mysql-bin 此时日志文件将在mysql 中的data文件夹下生成 log-bin=D:Mysql-binlogmysql-bin 注意路径文件开头必须要大写 binlog-format=Row #需要复制的库,多个库用逗号隔开,如果此项不配置所有主库都参与复制 binlog-do-db=test #binlog-ignore-db=mysql #不需要复制的库,和上项同理 #=========主从复制关键配置=====================
2.在主库中创建一个用给 从库进行IO连接
grant replication slave,reload,super on *.* to myslave @localhost identified by 'myslave密码';
myslave是用户名,myslave密码是用户对应的密码,localhost也可以写ip
刷新一下权限 flush privileges;
3.查看binlog的位置
show master status; # 找到File 和 Position 的值记录下来
四、进行slave配置1.在my.ini中配置进行server_id配置
port = 3307 #=========主从复制关键配置===================== #主库和从库需要不一致,配一个唯一的ID编号,1至32。 手动设定 server_id=2
2.重启slave的mysql服务,并使用登陆root
需要注意是是:在window的cmd中登陆mysql默认是3306,所以要是多个mysql服务时候加端口进行登陆
3.连接master服务器
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_password='myslave密码' 用户密码
(在主库里面 show master status得到的值了)
master_log_file=’mysql-bin.000012’ 主库中是二进制binlog文件名称
master_log_pos=2030 文件位置
4.启动slave
start slave;(停止是stop slave)
5.查看slave状态
show slave statusG
若Slave_IO_Running:Yes 以及Slave_SQL_Running:Yes 代表成功,若不成功往下查看错误日志再进行相应处理。
五、结语一般来说,若进行主从处理,在业务上都是先将主库中的库和数据进行打包sql文件然后在从库中创建库再运行.sql文件,以后的数据操作才开始进行复制。
linux上进行主从配置可以参考:mysql 主从复制 有数据库_Mysql数据库主从复制配置_宜家宜室的博客-CSDN博客



