MySql主从同步配置过程

来源:互联网 发布:cf活动领枪软件 编辑:程序博客网 时间:2024/06/07 12:59

主从的作用

1.可以当成一个备份来认识

2.用来实现读写分离,缓解数据库的压力

3.实现服务器的负载均衡,可以数据备份,保证数据库稳定。

4.辅助项目稳定,有一个库不能用,其他库依然可以支持项目访问。


同步复制

所谓的同步复制,意思是master的变化,必须等待slave-1,slave-2,...,slave-n完成后才能返回。

这样,显然不可取,也不是MYSQL复制的默认设置。比如,在WEB前端页面上,用户增加了条记录,需要等待很长时间。

异步复制

如同AJAX请求一样。master只需要完成自己的数据库操作即可。至于slaves是否收到二进制日志,是否完成操作,不用关心。MYSQL的默认设置。

半同步复制

master只保证slaves中的一个操作成功,就返回,其他slave不管。

这个功能,是由googleMYSQL引入的。


服务的安装

安装服务

mysqld -install 服务名--defaults-file="D:\Program Files\mysql-s\mysql-5.7.17-02\my.ini"

初始化

mysqld --initialize-insecure --user=服务名

启动服务

net start 服务名

服务的卸载步骤:

    停止服务:net stop myMaster(服务名)

    卸载服务:mysqld remove myMaster(服务名)

My.ini主要的配置

 port = 3307      #mysql数据库的端口号,保证唯一性

    server_id =11     #mysql数据库的服务id  ,  保证唯一性

    log_bin=mysql-bin          #进行日志记录

 

数据库的配置命令:

  

授权

1.GRANTREPLICATION SLAVE ON *.* TO 'mysql'@'127.0.0.1'IDENTIFIED BY '1234';

  输出:QueryOK, 0 rows affected  查询ok,0行受影响

              查看主数据库状态

         2.show master STATUS;

+------------------+----------+--------------+------------------+

| File             | Position | Binlog_Do_DB |Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000064|      907 |              |                  |

+------------------+----------+--------------+------------------+

1 row in set

从库连接成功,停止从库复制工作

3.stop slave;

输出:Query OK, 0 rows affected  查询ok

配置主库信息

4.change master to

master_host='127.0.0.1',#主服务器IP

master_user='root', #主服务器访问从服务器的用户,即上述第三条第2  小条第2子条所述帐号

MASTER_PORT=3007,

master_password='', #主服务器访问从的密码,即上述第三条第2小条第2  子条所述密码

master_log_file='mysql-bin.000002',  #主服务器起始的binlog文件  名,即图2的file

Master_log_pos=358; #主服务器binlog起始位置,即图2的postion

 

开启从库复制工作

5.start slave;

查看从库状态

6.show slave status; 出现下图状态的话,恭喜你,配置成功



自己配置,简单粗暴,主从的作用不在配置,当你应用到项目里,加上多数据源切换,效果会很明显