Mysql的主从分离配置

作者:谢高升 发布:2017-09-15 浏览:2210次

Mysql的主从分离配置;

你用过中从分离吗?

我:用过;

自己配置过吗?

我: 这些不是运维的做的吗,感觉很糟鄙视;

然后自己去百度了,弄了两个虚拟机,下面是配置的笔记


准备的虚拟机

centos6.5  Apache+PHP+MySQL

ip分别为 192.168.44.129(主),192.168.44.130(从)

原理:mysql要做到主从复制,其实依靠的是二进制日志,即:假设主服务器叫A,从服务器叫B;主从复制就是

     B跟着A学,A做什么,B就做什么。那么B怎么同步A的动作呢?现在A有一个日志功能,把自己所做的增删改查的动作

     全都记录在日志中,B只需要拿到这份日志,照着日志上面的动作施加到自己身上就可以了。这样就实现了主从复制。

首先在主虚拟机上修改配置

#vi /etc/my.cnf

            log-bin=mysql-bin  //将mysql二进制日志取名为mysql-bin

       binlog_format=mixed //二进制日志的格式,

       server-id=129 //为服务器设置一个独一无二的id便于区分,这里使用ip地址的最后一位充当server-id

image.png

重启mysql  service mysqld restart 

进入从服务器,配置从服务器的my.cnf,重复步骤1即可,

唯一的区别是,server-id要改成从服务器的ip尾位,即server-id=130;其他两项是一样的,保存,并重启mySQL;


进入主服务器的数据库

mysql -uroot -proot

然后主服务器输入

GRANT replication slave ON *.* TO 'slave'@'%' IDENTIFIED BY 'root';

查看主服务器BIN日志的信息(执行完之后记录下这两值,然后在配置完从服务器之前不要对主服务器进行任何操作,因为每次操作数据库时这两值会发生改变)

image.png


设置从服务器

进入从服务器mysql

命令: # mysql -u root -proot

 

关闭slave(如果你以前配置过主从的话,一定要先关闭)

命令:stop slave;


输入

 change master to master_host ="192.168.44.129", master_user = "root", master_password = "root", master_log_file = "mysql-bin.000001", master_log_pos = 247;


先在从服务器配置完成,启动从服务器:

命令: start slave;

查看是否配置成功:

命令: show slave status\G;

image.png

这样就是成功了;

主服务器数据插入数据

image.png

从服务器数据

image.png



就是这么简单的完成了