2010-01-13 16:04:40| 分类: mysql 主从服务器 | 标签: |举报 |字号大中小 订阅
前提: 主、从 库 的账号必须一致。因为sql要用同一账号在两个号更新。
一 安装
1. 在主库创建帐户
grant replication slave on *.* to 'rep'@'192.168.7.222' identified by '1234test';
'192.168.7.222' 从库IP
2.修改主库my.cnf,开启BINLOG,并设置server-id,重启数据库生效.
server-id = 1
log-bin=/usr/local/mysql/mysql-bin.log
service mysqld restart
2.3 设置主服务器只读
flush tables with read lock;(根据具体情况而定,可不做)
2.4 查看主库日志当前状态
show master status;
mysql> show master status ;
+------------------+-----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+-----------+--------------+------------------+
| mysql-bin.000003 | 309810379 | | |
+------------------+-----------+--------------+------------------+
1 row in set (0.00 sec)
其中:Position 列是sql 进程要用的日志位置号(见2.10)
2.5 关闭主库, cp 数据文件
tar -czvf da
scp
或者 用mysqldump
如: mysqldump -uroot -pxxx --all-databases --master-data=2 > backup.sql
(--master-data=2 ) 可以记录备份时刻的日志位置和偏移量
建议采用mysqldump
2.6 开启主库
unlock tables;(视情况而定)
Note:2.3-2.6 如果在生产机器上,要尽量不要影响过大,可采用mysqldump 方式传备库。
2.7 将主库数据文件恢复至从库(mysqldump 方式备份)
mysql -uroot -pxxxx < /tmp/backup.sql
2.8 修改从库参数 server_id=2
2.9 以忽略slave方式启动从库
./bin/mysqld_safe --skip-slave-start &
2.10 对从库服务器设置
change master to master_host='192.168.7.221',master_port=3306,master_user='rep',master_password='1234test',master_log_file='mysql-bin.000001',master_log_pos=309810379 ;
2.11
start slave; (开启复制进程)
stop slave ; (停止复制进程)
2.12 查看进程,从库。
show processlist \G
评论