您的位置:首页 > 数据库 > MySQL

windows上面mysql 5.6 主从同步 replication

2017-07-24 20:40 369 查看

一共安装了两个数据库,一个在虚拟机里面,一个在本机。使用桥接进行联网。系统是windows 7。数据库是5.6

1.   安装好mysql

可以参考我另外一篇安装说明。

记录一下需要用的命令:

登入sql:mysql –u 账号–p;

退出:exit

切换数据库:use 数据库名字;

显示master的情况:show master status;

显示slave的情况:show slave status;

为root添加远程连接的: GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "password"; 

2.   确保数据库可以被远程连接

用客户端去连接远程数据库,如果不能连接需要开启账号权限远程访问。自行解决。不同版本的数据库的修改方式不一样。5.6的可以打开数据库mysql->user表修改用户的ip地址。



3.   修改主机配置

1.        在主机的安装目录下面找到my.ini。一般在C:\ProgramData\MySQL\MySQL Server 5.6,可能以前版本的数据库my.ini不在这里,要自己确认文件的具体位置。



 

2.        修改主库的my.ini参数:

1. server-id=1  #服务器 id  不能重复,可以依次累加

2. log-bin  #开启这个,数据库的操作日志二进制,默认在安装目录下面。比如:C:\ProgramData\MySQL\MySQL Server 5.6\data。如果后面不加 log-bin=xxx,那么文件名字以计算机的名字加编号来命名二进制文件自动生成。



下图是配了名字的:

 


3. binlog-do-db=test         #设置二进制日志记录的库,可以设置多个,逐条累加,不写同步所有的数据库

4. binlog-ignore-db=mysql       ##设置二进制日志不记录的库,看情况配置.

5.general-log=on #开启所有操作日志,这个用来区分是否操作了主库,实际使用可以不开

5. 在主数据库上面新建复制用的账户:grant replication slave on *.* to ‘replication’@’192.168.0.104’identified by 'admin'; (需要登入主数据库执行)给主机192.168.0.104添加权限,用户名:replication(自定义),密码:admin(自定义);如果是要给所有的地址的从机访问,就需要把ip改成%

 

重启主库;

1. 在主上执行flush tables with read lock;(需要登入主数据库执行)

2. 设置完成之备份需要复制的数据库,备份方法很多,自己找。

3. 在主上面unlock tables;(需要登入主数据库执行)

4. 在主上执行show master status;(需要登入数据库执行),执行之后需要记录:Position的值,File的值。

 


 

3.        设置从库的my.ini参数

log-bin=mysql-bin  #可以不配置,

server-id       = 2 #不能相同,最好累加

replicate-do-db=test       #设置同步的库,和主库的对应

replicate-ignore-db=mysql     #设置不同步的库

log-slave-updates          #同步后记录二进制日志,可以不开

general-log=on #开启所有操作日志,这个用来区分是否操作了从库,实际使用可以不开

 

把主库的数据恢复进来

重启数据库

4.        从库配置服务

 

登入从数据库:

执行:slave stop

执行:change master to master_host='192.168.1.189主机地址',master_user=' replication主机里面建立的同步账号',

master_password=' replication 对应密码',master_log_file='mysql-bin000014.000001前面说的file的值',master_log_pos=107前面说的position的值;(上面是一条sql,不要少考了)。

执行:slave start

执行:show slave status;

如果发现说明成功了。

测试看看。

5.停止主从备份:

在从机上面执行:

stop slave;

reset slave;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息