MySQL 主从复制

在开始主从复制前,搭建好自己的MySQL服务器,主服务器master,从服务器slave。

如果你的slave是从master 直接克隆过来的,首先 执行 find / -name  auto.cnf     查找 auto.cnf文件 ,去修改auto.cnf文件,修改最后一位就行。

         

1、去编辑master 和 slave 的配置

master   :     /etc/my.cnf    

     [mysqld]下添加 


server-id =1                      
 log-bin=mysql-bin           
binlog-format=mixed      


每一个mysql 都拥有一个唯一的id,在这给他加一个唯一的id。log-bin 开启二进制日志 。

binlog-format两种方式 ,  mixed 混合的      row :记录磁盘变化

 slave :    /etc/my.cnf

     [mysqld]下添加 


server-id =2   
log-bin=mysql-bin   
relay-log=mysql-relay
 


在slave这边也给他一个id,不要和master那边一样 ,打开relay-log   日志

编辑完以后重启maste 和slave 的 mysqld 服务  

systemctl restart mysqld


在master 中 ,进入MySQL,在mysql库创建一个用户并授权给slave

grant all privileges on *.* to repl@'192.168.127.%' identified by 'MySQL-123456'; 


      grant 权限(all为全部) on 数据库.*(建议给*.* 全部数据库) to 用户名@登录主机(slave的ip地址,最后一位建议给%) identified by "密码(这里会出一个密码过于简单的错误,建议使用MySQL-123456,我用这个直接成功)";


用下边的命令查看master状态


mysql>show master status;


   +------------------+----------+--------------+------------------+
   | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
   +------------------+----------+--------------+------------------+
   | mysql-bin.000004 |      308 |              |                  |
   +------------------+----------+--------------+------------------+
   1 row in set (0.00 sec)


到了这一步,master这边的操做就差不多了。


再去配置slave 

change master to    
master_host='192.168.1.201',  
master_user='repl',           
master_password='repl',      
master_log_file='mysql-bin.000001',
master_log_pos=308;


 host为master地址  //user password 为 刚才创建的 用户名 、密码 

 log_file 为 文件名(可以在master服务器 show master status获得)

 

重启slave复制功能

 start slave  


查看slave复制功能的状态

mysql>show slave status\G



可以看到Slave_IO_RunningSlave_SQL_Running   是 yes 状态,如果有一个不是yse那就是没配置成功。

然后回到master ,进行测试 :

 建 一个表

mysql> create database t1;

 

进入t1表,创建表 :


CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` char(20) NOT NULL,
PRIMARY KEY (`id`)

) ENGINE=INNODB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;


添加数据  

insert into t1 values(null,'haha');

然后到slave查看:

show databases;




如果能看到刚刚的表就说明主从复制配置成功了。





 


          


         

               

    

         


       

           

            

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值