本文共 1367 字,大约阅读时间需要 4 分钟。
在实际场景中,mysql主从复制是一种常用的高可用性解决方案。以下将详细介绍主从复制的配置及操作流程。
环境描述
采用centos5.8 x86_64最小化安装,系统经过基础优化。mysql版本
使用5.1.73-log版本,支持多实例安装。源码存储与编译位置
修改从库my.cnf配置
vi /data/3307/my.cnf
egrep "server-id|log-bin" /data/3307/my.cnf
log-bin = /data/3307/mysql-binserver-id = 2
启动从库服务
/data/3307/mysql start
备份主库
使用mysqldump进行备份:mysqldump -uroot -p -A -B -S /data/3306/mysql.sock | gzip > /server/bak/mysql_bak.$(date +%Y%m%d).sql.gz
-A
:备份所有数据库-B
:备份时忽略外部binlog锁表操作
在进行主库迁移前,需执行:flush tables with read lock;
这将导致表锁读取状态,但业务会受到影响,需在停机时间最少的时段执行。
查看主库状态
确保主库状态正常:mysql -uroot -p -S /data/3306/mysql.sock -e 'show master status;'
确认binlog文件及位置是否正确。
导入数据库
将主库备份文件导入从库:gunzip /server/bak/mysql_bak.20141029.sql.gzmysql -uroot -p -S /data/3307/mysql.sock < /server/bak/mysql_bak.20141029.sql
设置从库 replication 参数
修改从库配置文件:vi /data/3307/my.cnf
确保参数设置为:
master_host="192.168.1.200"master_user="rpe"master_port=3306master_password="mygirl99"master_log_file="mysql-bin.000008"master_log_pos=832
启动同步服务
start slave;
检查同步状态:
show slave status \G
确保Slave_IO_Running
和Slave_SQL_Running
均为Yes
。
通过将binlog文件及位置记录下来,可以在不停机的情况下实现主从同步。具体操作如下:
备份binlog文件
确保binlog文件已备份,并记录文件名及位置。从库启动复制
在从库上执行:change master to ...
并确保从库已正确连接到主库。
以上操作流程涵盖了mysql主从复制的配置及常用操作,适用于开发、测试及生产环境。
转载地址:http://xtbfk.baihongyu.com/