http://wangwei007.blog.51cto.com/68019/965575
生产环境master/slave主从数据库手动同步
需求:master已经在运行,不可锁表更不可停用它,在线运行添加一个slave数据库。
方法:基本配置网上查找,现在说说关键部分:如何同步数据操作
1、备份导出主机的需要同步的数据库文件
[[email protected] c_learn]# /usr/local/mysql/bin/mysqldump -uroot -p --lock-tables --events --triggers --routines --flush-logs --master-data=2 --databases hkqj_global hkqj_inside hkqj_ucenter > /data/master.sql
\\master-data参数在建立slave数据库的时候会经常用到,因为这是一个比较好用的参数,默认值为1,默认情况下,会包含change master to,这个语句包含file和position的记录始位置。master-data=2的时候,在mysqldump出来的文件包含CHANGE MASTER TO这个语句,处于被注释状态\\
过滤出change master to信息
[[email protected] c_learn]# grep -i "change master to" master-data.sql
-- CHANGE MASTER TO MASTER_LOG_FILE=‘mysql-bin.000012‘, MASTER_LOG_POS=107;
2、在从库上导入备份文件,并执行以下命令
mysql>
change master to master_host=‘172.21.63.105‘,
master_user=‘repl‘,
master_password=‘repl‘,
master_port=3306,
master_log_file=‘mysql-bin.000012‘,//此处与grep -i查询的一致
master_log_pos=107;//同上
mysql> start slave
mysql> show slave status\G;
mysql> show slave status\G
3、错误代码:
Last_Errno: 1062
网上查找解决方法!