mysql数据主从备份是实现mysql数据库读写分离的前提,本文主要介绍mysql主从备份功能,主要思路准备两个数据一个主库,一个从库,分别在两个库的my.ini文件下添加对应的配置,分别对两个数据库授权。
主库(master)的IP:192.168.1.65
从库(slave)的IP:192.168.0.49
1、主库配置 在mysqld下添加配置文件配置
server-id=1 #master(主库)的标识 记住作为主库,id配置未1 后面从库的ID一定比他大
log-bin=mysql-bin #slave会基于此log-bin来做replication
binlog-do-db=test #用于master-slave的具体数据库
binlog_ignore_db=mysql #不用于master-slave的具体数据库
binlog_ignore_db=information_schema #和binlog-do-db一样,可以设置多个
2、从库配置 在mysqld下添加配置文件配置
server-id=2 #比刚刚主库设定的server-id大就行了,且从库之间不能有一样
log-bin=mysql-bin #slave会基于此log-bin来做replication
replicate-do-db=test #用于master-slave的具体数据库
3、主库授权 为从库添加权限
复制权限,可指定ip指定账号拥有此权限:
grant replication slave on *.* to 'slave'@'192.168.0.%' identified by '123456';
访问权限
grant all on *.* to 'slave'@'192.168.0.%' identified by '123456';
增 删 改 查权限
grant select ,insert ,update,delete on *.* to 'slave'@'192.168.0.%' identified by '123456';
4、从库授权,指定从库对应的主库,可设置多个从库,进入cmd命令行执行如下操作
先停止它的slave:
stop slave;
再改变它的master主库,
change master to master_host='192.168.1.65',
master_port=3306,
master_user='slave',
master_password='123456',
master_log_file='mysql-bin.000040',
master_log_pos=717;