博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
windows 下 mysql 复制的实现
阅读量:7081 次
发布时间:2019-06-28

本文共 2523 字,大约阅读时间需要 8 分钟。

hot3.png

写在最前边 :

     本次测试,属于个人练习的过程,只有过程, 没有总结.

测试环境 :

 os : windows 7

mysql  : 5.5.47 

环境 : phpstudy 2016

 

复制的基本步骤:

1  配置一个数据库实例作为master

2  配置一个数据库实例作为slave.

3  将slave连接到master

实验环境说明 :

本次实验使用的phpstudy自带的mysql,  

需要的准备工作, 

将phpstudy目录下的mysql文件夹整体复制一份,拷贝到当前目录下即可,原始的作为master,复制的作为slave,

测试的目录结构大致如下:

E:\ 

        ---phpsudy 

                ---- MYSQL

                ---- MYSQL1

     重点 :  在拷贝的MYSQL1文件夹中,注意修改配置文件的相关,参数,一些默认的文件存储路径,避免在启动实例的时候,提示一些不必要的错误.

 

******   配置 master   my.ini 实例  *******

# 如下是比较关键的信息, 在my.ini文件中添加没有的即可.# 这个是终端连接的端口[client]port=3306[mysqld]# 这个是实例启动时端口port=3306# 这个是数据存放的目录basedir="E:/phpStudy/MySQL/"datadir="E:/phpStudy/MySQL/data/"# 这些关于日志的配置log-bin  =master-binlog-bin-index  = master-bin.index# 服务的id号 server-id = 1

修改后请重启服务.

******   配置 slave    my.ini 实例  *******

## 如下是比较关键的信息, 在my.ini文件中添加没有的即可.# 这个是终端连接的端口[client]port=3307[mysqld]# 这个是实例启动时端口port=3307# 这个是数据存放的目录,注意此处的目录不同于master的目录 master(MYSQL) <---->  slave(MYSQL1)basedir="E:/phpStudy/MySQL1/"datadir="E:/phpStudy/MySQL1/data/"# 这些关于日志的配置, relay-log-index  中继日志索引文件 ; relay-log 中继日志文件.relay-log-index = slave-relay-bin.indexrelay-log = slave-relay-bin# 服务的id号 server-id = 2

修改后请重启服务.

 

启动master  mysql  

通过dos,手动进入目录  phpstudy->mysql->bin ,目录下 ,执行 mysqld.exe 不需要加载任何参数.

---- 创建一个复制用于

master >  create user repl_user;

master > grant replication slave on *.*     to repl_user identified by 'xyzzy';

 

****** 连接 master 与 slave *****

在slave服务下

mysql> change master to    -> master_host ='192.168.1.3',        # 这个是我本地局域网内的ip地址,    -> master_port=3306,                  # master的端口    -> master_user ='repl_user',          # 在master 上创建的可以复制的账号.    -> master_password='xyzzy';Query OK, 0 rows affected (0.22 sec)
mysql> start slave;                  #启动slave 服务Query OK, 0 rows affected (0.00 sec)

 

**********  测试环节  ********

1   master 和slave的状态,

show master status\g;

show slave  status\G;

2  测试数据 (在master服务下执行.)

   2.1 创建数据库

mysql> create table tal(text text);Query OK, 0 rows affected (0.14 sec)

  2.2  插入数据

mysql> insert into  tal values("zhangchao");Query OK, 1 row affected (0.09 sec)

2.3 强制刷新日志文件

mysql> flush logs;Query OK, 0 rows affected (0.24 sec)

2.4 验证结果(在slave服务下)

mysql> select * from tal;+-----------------+| text            |+-----------------+| zhangchao       |+-----------------+

 

容易出错的地方 :

一  在连接 master 和slave的环节中,

master_host 实际生产环境中配置的是一个外网环境的ip地址,为了测试,我就用本地的了,

有些书上写的是 master_host  = master_id ;   这样的写法, 导致的结果是 在slave服务器上提示错误,

在show slave status ,提示无法正常连接远程主机,  这个是按照课本实际时出现的错误,

二  在配置环节中,

log-bin 和 log-bin-index 建议是手写一个, 如果是系统分配的会是主机名称, 如果系统环境有所改动,

那么复制时,slave就会找不到相应的日志文件.

 

转载于:https://my.oschina.net/u/1579560/blog/756581

你可能感兴趣的文章
把1到100的数字拆分成字典中的两个键值对 python
查看>>
秒开缓存盒子
查看>>
晒奖品--参加《寻找隐藏在F1背后的IT“引擎”》家园有奖活动获奖
查看>>
linux 运维中常用的shell命令
查看>>
镜像YUM安装仓库(转载唐老师的github)
查看>>
再谈CENTOS下通过YUM和RPM快速获取相关工具(命令)所在软件包并安装
查看>>
如何合并多个excel文件
查看>>
我的友情链接
查看>>
剪贴板(进程通信)
查看>>
ISA2006端口映射
查看>>
ubuntu11.10关不了机解决办法
查看>>
我的友情链接
查看>>
ASP.NET Core托管和部署Linux实操演练手册
查看>>
Hibernate+Spring整合使用二级缓存
查看>>
Cookie和Session的作用,区别和各自的应用范围,cookie、Session工作原理
查看>>
Python实用脚本(1):读取Properties文件
查看>>
maven项目 用jetty启动简单配置启动maven项目
查看>>
TD fexp
查看>>
我的友情链接
查看>>
我的友情链接
查看>>