怎么在linux完成MySQL主从热备?
随着大数据时代的来临,数据显得尤为重要,数据的丢失或者损毁甚至可以摧毁一个公司。
Linux下的主从热备其实很简单
1. 作为主服务器Master, 会把自己的每一次改动都记录到 二进制日志 Binarylog 中。 (从服务器会负责来读取这个log, 然后在自己那里再执行一遍。)2. 作为从服务器Slave, 会用master上的账号登陆到 master上, 读取master的Binarylog, 写入到自己的中继日志 Relaylog, 然后自己的sql线程会负责读取这个中继日志,并执行一遍。 到这里主服务器上的更改就同步到从服务器上了。下面介绍下具体的配置方法:主从主从 就是有不少于两个服务器,在此已192.168.0.1(主服务器数据库)192.168.0.2(从服务器数据库)为例:
主服务器master配置[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0server-id=1
log-bin=mysql-bin
relay-log=relay-bin
relay-log-index=relay-bin-index[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
从服务器Slave配置货币符号
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
server-id=2 #不能和主服务器的一样
log-bin=mysql-bin
replicate-do-db=test #选择热备的数据库
log-slave-updates=1[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
配置完成 登录Slave,然后执行下面命令:mysql> stop slave;
mysql> change master to master_host='192.168.0.1',master_user='root',master_password='123456';
#主数据库的配置
mysql> start slave;
mysql> show slave status\G;
金融问答http://www.gendan5.com/topic/businessnews.html
检查相关配置是否正常运行:yes为正常。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
如果以上两个配置有任何一个为No。都不能正常进行热备,需检查具体原因,
最后测试 在主数据的test库中做任何操作, 从服务器的数据库中的test都会有所同步至此,Linux主从热备数据完成。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。