我们有多种方式可以在数据库提供服务的时候搭建从库,而不影响线上数据库或对其影响很小。
在线搭建从库一般可分为两类,一种是在操作系统下做快照,另一种是利用自带的备份工具mysqldump制作备份。
-
在操作系统下对打包文件配置主从
(1) 已经有一主一从,增加一个从库
1) 关闭从库。
2) 打包相关文件到另外一台主机。
包括数据文件,如ibdata*、InnoDB事务日志文件ib_logfile*、master.info文件、relay-log.info文件和my.cnf配置文件
3) 在新的数据库主机上配置相关的参数,注意server-id不要和其他数据库实例相同。
4) 一般来说,master.info的信息和relay-log.info的信息是一致的,你可以直接删除relay-log.info文件,重新启动,新的从库会按照master.info里的信息重新同步数据库。
5) 一些情况下即使正常关闭了数据库,也可能存在信息不一致的情况,relay-log.info里记录了当前应用到数据库主库的二进制日志的位置,这个值不同于master.info里记录的当前读取到的主库日志的位置,这种情况下,我们可以删除master.info文件,然后重新启动数据库实例,并按照relay-log.info里面记录的信息,运行CHANGE MASTER命令重新同步主库的数据。
(2) 仅有主库,增加一个从库
如下方式仅适用于MyISAM引擎的表,对InnoDB数据库不要使用此方式制作从库:
1) 主库赋予从库访问权限
mysql> GRANT REPLI