主从复制作用:
1、是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是实时的业务数据库
2、从数据库的作用和使用场合一般有几个:一是作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作
3、二是可在从数据库作备份、数据统计等工作,这样不影响主数据库的性能;
4:原理图
开始搭建
1.本地首先需要搭建一套mysql,可以使用集成环境。
2.需要单独在搭建mysql,用来做主从复制
3.解压安装包 [mysql-5.6.24-win32.1432006610.zip]
4.配置 mysql环境变量 ( 修改PATH,添加 E:\mysql5.6\bin )
5.在E:\mysql5.6 目录下新建my.ini 配置文件
在my.ini中:
[mysqld]
port=3307
basedir=E:\mysql5.6
datadir=E:\mysql5.6\data
#日志配置
log-error=E:\mysql5.6\logs\error.log
log=E:\mysql5.6\data\logs\mysql.log
long_query_time=2
log-slow-queries=E:\mysql5.6\data\logs\slowquery.log
6.以管理员身份打开CMD
进入 :
E:\mysql5.6\bin
7.执行 mysqld -install示Service successful installed 则成功了
8.启动服务:
net start mysql #启动mysql
net stop mysql #停止mysql
9.windows添加服务 :防止两个mysql 服务冲突
sc create mysql2server binPath= "E:\mysql5.6\bin\mysqld.exe" DisplayName="mysql2server SERVICES"
10.使用 Navicat for MySQL新建一个master 的数据连接端口默认3306 注意:再建一个slave数据连接 端口为3307
11.到master 连接中新建查询然后执行
#添加一个mysql主从复制需要的账号 可以到mysql数据库的user表中能看到
GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*
TO mysql_backup@'%'
IDENTIFIED BY '123456';
#刷新权限
flush privileges;
#查看master 库的状态
show master status;
12.到主服务器中的mysql中(我的是H:\phpStudy2\MySQL)编辑my.ini 在[mysqld]下添加
server-id=1 #为主服务器A的ID值
log-bin=mysql-bin #二进制变更日值
13.重启phpstudy
14.到slave 数据库
先停止从库
Stop slave
#链接到主库
CHANGE MASTER TO master_host = '127.0.0.1',
master_user = 'mysql_backup',
master_password = '123456',
master_log_file = 'mysql-bin.000001',//看master 中show master status;
master_log_pos = 3696;//Position 的值
启动从库
Start slave
查看从库状态
Show slave status
15测试主从
用Show slave status命令查看,slave_IO_Running 和slave_SQL_Running 都是Yes 就成功了
(https://img-blog.csdn.net/20170108185603473?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ3BhdGg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
16
在master新建一张数据表test
在slave 也新建一张数据表
在master中的test加入数据后到slave数据库中刷新一下如果数据一样就ok了