mysql主从复制
简要:
一、mysql用户授权
二、mysql bin-log日志
三、mysql主从复制
?
一、mysql用户授权
1、命令
2、作用:进行权限控制
3、样例:
(备注: 同意用户xiaobei从localhost訪问mysql,并且须要password验证,password为xiaobei)
4、查看mysql用户权限表
?
?
二、bin-log日志
1、查看bin-log是否开启
??????
2、开启bin-log日志
?????? 改动配置文件
?????? [mysqld]
?????? log-bin=mysql-bin
3、重新启动mysqlserver。验证是否开启
??????
4、物理结构
5、与bin-log有关的日志刷新
?????? 5.1、flush logs
?????? 生成一个最新的bin-log日志
? ? ? ??
?????? 5.2、show master status;
?????? 查看最后一个bin日子
??????
5.3、reset master
清空全部的bin-log日志
6、什么样的语句会记录在bin-log日志中
?????? a、运行前,bin-log的起始位置
b、运行查询
c、运行改动
d、运行插入
e、运行删除
(总结: bin-log仅仅会记录增删改的sql语句。)
7、查看bin-log日志内容
?????? 使用mysqlbinlog工具
?
三、mysql主从复制
1、作用:
?????? a、假设主server出现故障,能够高速切换到从server提供的服务
?????? b、能够在从server上运行查询操作。减少主server的訪问压力
?????? c、能够在从server上运行备份,以避免备份期间影响主server的服务
?????? (备注: 注意一般仅仅有更新不频繁的数据或者对实时性要求不高的数据能够通过从server查询,实时性要求高的数据仍然须要从主server获得)
2、配置
?
2.1、改动主数据库配置文件
重新启动服务
2.2、进入mysqlclient,查看binlog日志
2.3、建立从服务授权用户
2.4、改动从server配置文件
2.5、重新启动服务后。进入client。建立主从复制
2.6、启动从server
2.7、查看从server信息
(红色区域都显示:yes,说明配置成功)
2.8、验证
a、主从server都在同一数据库下
b、在主server运行
c、在从server查看
此时,主从数据库复制就成功了。
?
总结: 进行主从复制的步骤
a、建立授权用户
b、改动主从server配置
c、在从server指定主server
d、在从server启动主从复制
?
常见问题:
1、vmware复制centos虚拟机碰到Device eth0 does not seem to bepresent的问题
由于须要做集群測试,须要多台虚拟机作为測试机。
假设每一个虚拟机都要安装系统就非常麻烦。幸好vmare能够通过复制虚拟机的物理文件直接生成一个新的虚拟机。仅仅是复制的虚拟机网络会失效,重新启动网络server的时候会提演示样例如以下错误:
Device eth0 does not seem to bepresent,delaying initialization.?
网上搜索后才发现原因所在:原来vmware在复制了虚拟机后会自己主动生成一个新的网卡设备供该虚拟机使用,比方原先的网卡是eth0,复制虚拟机后后就会添加eth1。可是由于没有生成对应的/etc/sysconfig/network-scripts/ifcfg-eth1文件,导致网络连接失败。这个应该是vmware的一个bug。
查看网卡配置文件/etc/udev/rules.d/70-persistent-net.rules,能够看到多出了一个eth1的配置。
解决的方法
编辑网卡配置文件/etc/udev/rules.d/70-persistent-net.rules,将eth0的网卡地址改动成eth1的网卡地址。而后删除eth1这一行。
编辑网卡IP地址配置文件/etc/sysconfig/network-scripts/ifcfg-eth0。改动网卡物理地址HWADDR为上面eth0的网卡地址。
改动完毕后重新启动系统。就能正常启动网络服务了。
2、Fatal error: The slave I/O thread stops because masterand slave have equal MySQL server UUIDs; these UUIDs must be different forreplication to work.
解决方法:
改动数据库data文件夹下的auto.cnf