一、MySQL主从备份
为保证数据库的安全和效率,可以使用主从备份,当有写的操作可以在主服务器上操作,操作完之后备份到从服务器上,当有读操作时可以访问从服务器,这样在一定程度上保证了数据库的安全,当主服务器的mysql挂掉之后,数据也不会丢失,同时也提高了数据库的效率。
1.环境
master 192.168.174.129
slave 192.168.174.130
master和slave的防火墙都为关闭状态,selinux也为disabled,不然会出错,selinux设置重启生效。
2.在master和slave上安装mysql和mysql-server
注:mysql master数据库版本和slave数据库版本要相同,或者slave版本比master高
mysql安装可以yum安装也可以源码安装,本文采用yum安装
yum -y install mysql mysql-server
在主服务器和从服务器上打开mysql服务,并设置开机自启
service mysqld restart
chkconfig mysqld on
3.mysql mater配置
打开mysql配置文件/etc/my.cnf,在mysqld下添加
log-bin=mysql-bin ---------启动二进制日志系统
binlog-do-db=test ---------要同步的数据库
server-id=1 ---------服务id,主服务器server-id比从服务器server-id小
binlog-ignore-db=mysql ------避免同步mysql用户配置
重启mysql
service mysqld restart
进入数据库mysql
mysql -u root -p
初始状态mysql默认没有密码,如果要设置密码可以使用mysqladmin -u root -p "password",设置密码,这样也会更安全一些
创建一个同步账号,并赋予权限
查看master的状态信息,记录下file和position的值,在后边的slave配置中会用到
4.mysql slave配置
打开mysql配置文件/etc/my.cnf,在mysqld下添加
server-id=2 -------- 服务id,从服务器server-id比主服务器server-id大
replication-ignore-db=mysql -- 屏蔽对mysql库的同步
replication-do-db=test ---------要同步的数据库名,与主服务器配置保持一致
master-connect-retry=60 --------断点重连时间
master-host=192.168.174.129
master-user=test
master-password=test
master-port=3306
进入mysql
mysql -u root -p
停止slave服务:stop slave;
配置slave同步,完成后开启slave服务
change master to master_host='192.168.174.129',master_user='test',master_password='test',master_log_file='mysql-bin.000026',master_log_pos=346;
这里的master_log_file和master_log_pos要和前面记录的file和position一致
查看slave状态
show slave status\G;
当两个running都为yes时即配置成功,可以在主服务上对test数据库操作,看是否这些操作会同步到从服务器上
二、MySQL主主备份主主备份的设置就是将从服务器上的设置在主服务器上操作一遍,主服务器上的操作在从服务器上操作一遍,这里就不再赘述
三、 MySQL+Keepalived环境:
keepalived主机:192.168.174.129
keepalived备机:192.168.174.130
VIP:192.168.174.222
测试主机:192.168.174.133
master、slave、keepalived主机、keepalived备机、测试主机的防火墙都为关闭状态,selinux也为disabled,不然会出错,selinux设置重启生效。
1.keepalived