ITPub博客

首页 > 数据库 > MySQL > Mysql 数据库主库,备库实时同步配置

Mysql 数据库主库,备库实时同步配置

原创 MySQL 作者:百联达 时间:2013-12-20 17:05:30 0 删除 编辑
背景: mysql 主库服务器server1(192.168.71.37)    mysql 备库服务器server2(192.168.71.38)    主库,备库版本同为5.5.31.

第一步:创建复制账号

主库: GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.*  TO  username@'192.168.71.38' INDENTIFIED BY 'password';

在主库和备库都创建该账号, 备库只需要修改对应的主库IP即可。


第二步:配置主库和备库

在主库的my.cnf 增加或修改如下内容:
log_bin = mysql-bin
server_id = 7137 (必须明确地指定一个唯一的服务器ID 此处去服务器Ip的最后两个段)

如果之前没有在mysql 的配置文件中指定log_bin 就需要重新启动Mysql。 为了确认二进制日志文件是否已经在主库上创建,使用:SHOW MASTER STATUS进行查看
备库上也需要做同样的配置,并重启数据库
log_bin =  mysql-bin
server_id = 7138
relay_log = /var/lib/mysql/mysql-relay-bin (指定中继日志的位置和命名)
log_slave_updates = 1 (允许备库将其重放的事件也记录到自身的二进制日志)
read_only = 1

第三步:启动复制

在备库上执行以下命令

CHANGE MASTER TO MASTER_HOST='192.168.71.37',
MASTER_USER='username',
MASTER_PASSWORD='password',
MASTER_LOG_FILE = 'mysql-bin.000015',
MASTER_LOG_POS=0;
设置MASTER_LOG_POS=0是要从日志的开头读取。

通过SHOW SLAVE STATUS;命令查看配置信息。

执行命令START SLAVE;开启复制。

通过SHOW SLAVE STATUS;再次查看



通过SHOW PROCESSLIST;可以看到一个I/O线程,和一个SQL线程



四:推荐的复制配置
在主库上二进制日志最重要的选项是: sync_binlog =1
如果开启该选项,mysql每次在提交事物请会将二进制日志同步到磁盘上,保证在服务器崩溃的时候不会丢失事件。

如果使用InnoDB 强烈推荐设置如下选项:

innodb_flush_logs_at_trx_commit
innodb_support_xa=1
innodb_safe_binlog

如果正在使用mysql 5.5 ,最好设置以下选项:
sync_master_info = 1
sync_replay_log = 1
sync_relay_long_info =1

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28624388/viewspace-1063901/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
15年以上互联网经验,先后从事过制造业,证券业,物业行业和物流行业信息系统和互联网产品的设计落地实施,8年系统架构经验。最近关注企业数字化转型、财务数字化服务共享、大语言模型、Kubernetes微服务架构和Istio微服务治理框架。

注册时间:2013-02-05

  • 博文量
    332
  • 访问量
    1265614