Mysql实现主从复制

 二进制日志是实现复制的基础

 
binary log   
主服务器 dump线程负责提供数据     启动二进制日志     binary log
从服务器 i/o线程读出数据 sql线程写出数据 启动中继日志relay log
 
建立身份标识 server id 避免重复复制
 
主从服务器都安装好mysql
 
配置主从
 
找主从的vi /etc/my.cnf 下的 server-id 主从不能一样
然后启用二进制日志 和 relay log
show global variables like 'relay%'
 
 
在主服务器配置给权限复制的用户
 
进入mysql
 
GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO repl@'192.168.142.%' IDENTIFIED BY '123456' ;
 
show grants for repl@'192.168.142.%'
 
主服务器flush master 
从服务器flush slave    从服务器出现任何错误先去看错误日志/usr/local/mysql/data wangjian.err
 
在从服务器上看需求是否启用2进制日志 另外必须启用中继日志 
relay-log=relay-bin
relay-log-index=relay-bin.index
(mysqld_safe --skip-grant-tables --skip-networks  mysql的密码忘记时候用这个)
设置从服务器
change master to master_host='192.168.142.11', master_user='repl', master_password='123456'
启动从服务的2个进程
 
start slave
 
mysql备份
mysqldump --all-databases --lock-all-tables --master-data=2 >/root/slave.sql
恢复
 
关闭2进制日志 set sql_log_bin=0;
导入  source /tmp/slave.sql
 
导入从服务器  
使用CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=858
 

本文出自 “我的博客” 博客,谢绝转载!

你可能感兴趣的:(mysql,主从复制)