随着大数据时代的来临,数据显得尤为重要,数据的丢失或者损毁甚至可以摧毁一个公司。
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=0
server-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主从热备数据完成。