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

Mysql实现主从复制

2012-12-10 23:09 441 查看
二进制日志是实现复制的基础

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
本文出自 “我的博客” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: