MYSQL 实现主从复制

废话不多说,直接上配置,简单易懂,客官请看:

1、 下载安装包 https://dev.mysql.com/downloads/mysql/5.7.html#downloads ,解压
下载zip版本
2、主库服务配置:

2.1.在此目录下新建一个my.ini的mysql配置文件,同时新建data,logs文件夹

2.2.2.配置my.ini:
port = 3307
basedir=D:\work_software\mysql\master #(mysql文件夹路径)
datadir=D:\work_software\mysql\master\data #(data路径,存放日志文件)
server-id = 1
binlog-do-db=test 表示需要备份的数据库为test
binlog-ignore-db=mysql 表示不需要备份的数据库为mysql
如果两个都不设的话,从服务器会复制主服务器的全部数据库 (本人就是此设置)
log-bin=mysql-bin 表示开启二进制日志,并把二进制日志前缀改为mysql-bin

2.3、 以“管理员身份”运行cmd,进入 bin 目录下:
1)进行初始化服务:mysqld --initialize --console,会在控制台打印初始化信息,此时data目录下也会生成一些初始化文件,并且控制台会打印出初始化的密码
(2)安装:mysqld --install MYSQLMaster,MYSQLMaster是服务名,自己看心情取,看到Service successfully installed就表示服务安装成功
这时候,在任务管理器可以看到MYSQLMaster这个服务,只不过还是未启动状态。
(3)启动服务:net start MYSQLMaster(也可以在任务管理器的服务里面启动)

2.4 、设置root密码:
2.4.1、在 my.ini 文件 的[mysqld] 下 添加 skip-grant-tables(跳过密码验证);
2.4.2、重启服务,输入 mysql -uroot -P3307 -p;( 需要加上端口号连接数据库,否则访问的是默认3306端口的数据库)
2.4.3、输入:update mysql.user set authentication_string=password(“root”) where user=“root”;再输入: 刷新账户信息:flush privileges;然后就可以 使用 root 密码登录;

2.5、创建新用户:
2.5.1、 create user ‘tzy’@’%’ identified by ‘123456’;
2.5.2、 给新用户配置主从复制的权限:grant replication slave on . to ‘tzy’@’%’ identified by ‘123456’;
注:
@后面的ip地址为允许连接的客户端的ip地址,如果改为 ‘%’,就表示客户端没有ip地址的限制
然后查看主服务master的状态: (每重启一次mysql服务,mysql-bin的日志就会新建一个,所以重启主服务,从服务必须先停止再重新配置后启动)
2.5.3、查看主库的当前状态
show master status;
在这里插入图片描述

注:
请记住这个File和Position,File是同步给从库的数据库文件,到时候授权给从库时要用

3、从库服务配置:
1.从主库拷贝一份解压文件并复制一份主库的my.ini文件过来修改配置
[mysqld]
port = 3308
basedir=D:\work_software\mysql\mslave
datadir=D:\work_software\mysql\mslave\data
log-bin=mysql-bin
server-id = 2
#同步某库,不配置就默认所有库
replicate-do-db=test
#同步某表,不配置就默认所有表
replicate-wild-do-table =test.test
replicate-wild-do-table =test.test1
2.保存后像操作主库一样进行初始化,安装,启动等操作
3.启动从库后执行如下命令指定主库
change master to master_host=‘127.0.0.1’,master_user=‘tzy’,master_password=‘123456’,master_port=3307,master_log_file=‘mysql-bin.000004’,master_log_pos=956;
参数详解:
master_host: 主服务器的IP
master_user: 主服务器上新创建的用户名
master_password: 用户的密码
master_port: 主服务器的端口,如果未曾修改,默认即可。
master_log_file: 主服务器二进制日志文件的名称,填写查看主服务器的master状态时显示的File的值
4.启动从服务的slave复制功能:
start slave;
5.查从服务器的slave状态
show slave status \G;
在这里插入图片描述
3、测试,master的IP 对应 master_host,用户名对应 master_user,密码对应 master_password,端口号对应 master_port,库名对应 Replicate_Do_DB,表名对应 Replicate_Wild_Do_Table,以上全部都正确,才会测试正确:
在这里插入图片描述
4、修改my.ini ,配置文件后,需要重启服务,新的配置信息才会生效;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值