操作环境
主:192.168.1.124
从:192.168.1.125
mysql- 5.0.56 .tar.gz 、centos5.2
数据库1:/data/3306/ 数据库2:/data/3307/
1、修改主库my.cnf
============================
# vi /etc/my.cnf
server-id = 1
log-bin
============================
2、重启主库生效
=======================
#/data/3306/mysql stop
#/data/3306/mysql start
=======================
3、登陆主库
================================
#mysql -uroot -p -S /data/3306/mysql.sock
================================
4、赋予从库权限账号,允许用户在主库上LOAD TABLE和LOAD DATA
====================================================================
mysql> GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO [email protected] IDENTIFIED BY '123456';
====================================================================
5、检查创建是否成功
====================================================================
select user,host from mysql.user;
================================================
6、锁主库表
===========================
mysql> FLUSH TABLES WITH READ LOCK;
===========================
7、显示主库信息
记录File和Position,从库设置将会用到
=====================
mysql> SHOW MASTER STATUS;
=====================
+---------------+----------+--------------+------------------+
| File | Position | Binlog_do_db | Binlog_ignore_db |
+---------------+----------+--------------+------------------+
| mysql-bin.030 | 870279 | | |
+---------------+----------+--------------+------------------+
8、另开一个终端登陆124,打包主库迁移数据
============================
# cd /data/3306
# tar zcvf data124.tar.gz ./data
============================
二、设置从库
1、传输拿到主库包、解包
==============================
登陆从库
#cd /..
#rz //将a.tar.gz上传
#tar zxvf a.tar.gz //解压
==============================
2、解锁主库表
=================
mysql> UNLOCK TABLES;
=================
3、修改从库my.cnf
====================
# vi my.cnf
# slave
server-id=2
====================
4、重启从库生效
=====================
#/data/3306/mysql stop
#/data/3306/mysql start
=====================
5、验证连接主库
============================
# mysql -h192.168.1.124 -urepl -p123456
mysql> show grants for [email protected];
============================
6、在从库上设置同步
设置连接MASTER MASTER_LOG_FILE为主库的File,MASTER_LOG_POS为主库的Position
=============================
change master to master_host='192.168.1.124', master_user='repl', master_password='123456', master_log_file='mysql-bin.030', master_log_pos=870279;
=============================
7、启动从库服务
===========================
mysql> slave start;
===========================
8、检查从库状态
===========================
show slave status \G
=========================
若是两个yes则启动成功!
判断从数据库同步状态。
mysql -uroot –p123456 -e "show slave status\G" | sed -n '/Yes/'p | wc -l
mysql -uroot -p'123456' -S /data/3307/mysql.sock -e "show slave status\G" | sed -n '/Yes/'p | wc -l
=2为正常。
生产例子:
让mysql slave记录binlog方法
Vi my.cnf
log-slave-updates
log-bin = /data/3307/mysql33-bin
expire_logs_days = 7