具体实验环境所需要的配置名称(alias)扮演角色IPMySQL版本系统平台A(node3)主服务器172.15.251.23MariaDB10CentOS6.564bitB(node4)从服务器,相对于A(级连复制
16,skip_slave_start 参数用于在主服务器中设置,主服务器启动时,是否对从服务器启动做启动检查
三,基本主从复制的具体实现(注:生产中,以下的配置是绝对不可能出现的,)
主从复制配置概述:主服务器开启二进制日志功能,从服务器不用开启,但一定要开启中继日志功能,在主服务器上新建有复制权限的用户,在使用change master to 命令定义主服务器时,要注意其正在使用的二进制日志文件,及当前所修改的记录的位置
1,主从都为新建服务器(干净)
1)A主服务器文件my.cnf增加以下内容(思密达,配置的内容太少了吧,>_,其实默认的参数还是很多的)
server-id= 10
log-bin=/mydata/binlogs/master-bin
##二进制日志文件存放目录及文件名称前缀,须先创建目录且属主属组为mysql
binlog_format=row ##其实这个参数也可以省略
在主服务器上新建admin用户具有复制权限
命令:grant replication slave,replication client on *.* to admin@'172.15.*.*' identified by 'admin'
2)B主服务器文件my.cnf增加以下内容(从服务器无须开启二进制日志)
server-id= 20
relay_log=/mydata/relaylogs/relay_logs
3)启动A主服务器并查看当前使用的日志文件及日志记录的位置,如下图
4)启动B从服务器,使用命令change master to 设置与主服务器同步复制的相关信息,,如下图
5)在主服务器上新建库,表,并在从服务器上进行查看
2,主服务器运行一段时间,增加一从服务器(主服务器有生产数据库,增加干净的从服务器)
模拟环境描述:
-----A服务器已经有school数据库,里面有表courses,stutents,teachers,数据库testschool中有表test,两库中的表都有数据记录
-----新增加的从服务器为新机器
1)对主服务器先进行数据库备份操作,并记录当前主服务器正在使用二进制日志文件及记录的位置
首先备份数据库:
mysqldump -uroot -p --databases school testschool --lock-tables --flush-logs --master-data=2 >school_testschool.sql复制备份的库到从服务器上
scp school_testschool.sql 172.15.251.24:/tmp3)查看主服务器上的日志文件及记录位置信息及在B从服务器上导入主服务器上的库的备份,并change master to
查看从服务器的工作状态正常
3,主从半同步具体配置实现
主从半同步复制概述:半同步技术由google研发并开源提供给mysql,支持版本为mysql5.5以后,是属于插式式安装方式,,工作特点:主从复制架构中,往往会有多台从服务器,如果多台从服务器同时发io线程同步二进制日志,事必会造成主服务器上更大的IO压力,而半同步复制机制是,主服务器只选择一台从服务器,保证完成同步复制后,其它的从服务器就不再考虑是否完成同步复制,多台从服务器避免了同时从服务器同时iothread,最终还是会同步完成复制
具体配置:
1)主从同步及chang master to部分请参照上面( 1,主从都为新建服务器(干净))
2)主从服务器相关同步插件安装
3)半同步复制成功
4,主-从级联复制架构具体配置实现