MYSQL主从数据库同步备份配置的方法

 更新时间:2015年10月18日 11:37:03   投稿:mrr  
这篇文章主要介绍了的相关资料,需要的朋友可以参考下

下文分步骤给大家介绍的非常详细,具体详情请看下文吧。

一、准备

用两台服务器做测试:

Master Server: 192.0.0.1/Linux/MYSQL 4.1.12
Slave Server: 192.0.0.2/Linux/MYSQL 4.1.18  

    做主从服务器的原则是,MYSQL版本要相同,如果不能满足,最起码从服务器的MYSQL的版本必须高于主服务器的MYSQL版本

二、配置master服务器

1. 登录Master服务器,编辑my.cnf

#vim /etc/my.cnf

在[mysqld]段添加以下内容:

log-bin=mysql-bin
server-id=1
binlog-do-db=extmail
binlog-ignore-db=mysql,test

解释:log-bin项是让Master服务器记录二进制日志这个是必须的;
server-id=master_id 其中master_id必须为1到232–1之间的一个正整数值;
binlog-do-db=database 是要记录日志的数据库;
binlog-ignore-db 是不要记录日志的数据库名,多个数据库中间用逗号(,)隔开;

2.从master服务器添加要从slave服务器访问master服务器的有权限的帐号,看下面命令就知道了:

mysql> grant replication slave on *.*
-> to 'abc'@'192.0.0.2' identified by '123';

格式:mysql> GRANT REPLICATION SLAVE ON *.*
   -> TO '帐号'@'从服务器IP或主机名' IDENTIFIED BY '密码';

3. 重起Mysql

4. 备份master数据库数据

# mysqldump --master-data extmail > extmail_backup_20071120.sql

要加--master-data 选项,这里备份master服务器的数据,后面要导入slave服务器。

5. 察看Master状态

mysql> show master status;
+------------------+----------+--------------+------------------+
| File       | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 |    79 | extmail   | mysql,test    |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

三、配置slave服务器

1. 编辑my.cnf

# vim /etc/my.cnf

在[mysqld]段添加以下内容:

server-id=2
master-host=192.0.0.1
master-port=3306
master-user=abc
master-password=123
master-connect-retry=60

解释:

slave服务器的server-id不能与master相同,多台slave之间server-id也不能相同。
master-host 是 master服务器的主机名或者IP地址
master-user和master-password是前面我们在master上建用户名和密码
master-connect-retry 是如果从服务器发现主服务器断掉,重新连接的时间差

2. 把从主数据库服务器备份出来的数据库导入到从服务器中,也就是我们前面的extmail_backup_20071120.sql

# mysqladmin create extmail
# mysql extmail < extmail_backup_20071120.sql

3. 重起mysql服务器

4. 停止slave服务,设置主服务器的各种参数

mysql> slave stop;
mysql> change master to
-> MASTER_HOST='192.0.0.1',
-> MASTER_USER='abc',
-> MASTER_PASSWORD='123',
-> MASTER_LOG_FILE='mysql-bin.000002',
-> MASTER_LOG_POS=79;
mysql> slave start;

5. 查看主从服务器的状态

mysql> show processlist;

相关文章

  • 浅谈innodb_autoinc_lock_mode的表现形式和选值参考方法

    浅谈innodb_autoinc_lock_mode的表现形式和选值参考方法

    下面小编就为大家带来一篇浅谈innodb_autoinc_lock_mode的表现形式和选值参考方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • MySQL错误代码1862 your password has expired的解决方法

    MySQL错误代码1862 your password has expired的解决方法

    这篇文章主要为大家详细介绍了MySQL错误代码1862 your password has expired的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • MySQL校对规则(COLLATION)的具体使用

    MySQL校对规则(COLLATION)的具体使用

    本文主要介绍了MySQL校对规则(COLLATION)的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • MySQL的锁机制之全局锁和表锁的实现

    MySQL的锁机制之全局锁和表锁的实现

    本文主要介绍了MySQL的锁机制之全局锁和表锁的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 一文详解如何基于mysql dump进行全量备份还原

    一文详解如何基于mysql dump进行全量备份还原

    在数据库管理中,数据备份和恢复是非常重要的环节,​​mysqldump​​ 是 MySQL 提供的一个非常强大的命令行工具,下面小编就和大家详细介绍一下吧
    2025-10-10
  • 使用LEFT JOIN 统计左右存在的数据问题

    使用LEFT JOIN 统计左右存在的数据问题

    最近做了一个数据模块的统计,统计企业收款、发票相关的数据,开始统计是比较简单,后面再拆分账套统计就有点小复杂,这篇文章主要介绍了使用LEFT JOIN 统计左右存在的数据,需要的朋友可以参考下
    2022-10-10
  • MySQL 原理与优化之Limit 查询优化

    MySQL 原理与优化之Limit 查询优化

    这篇文章主要介绍了MySQL 原理与优化之Limit 查询优化,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • windows下如何解决mysql secure_file_priv null问题

    windows下如何解决mysql secure_file_priv null问题

    这篇文章主要介绍了windows下如何解决mysql secure_file_priv null问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 深入了解MySQL中索引优化器的工作原理

    深入了解MySQL中索引优化器的工作原理

    本文将解读MySQL数据库查询优化器(CBO)的工作原理。文中简单介绍了MySQL Server的组成,MySQL优化器选择索引额原理以及SQL成本分析,需要的可以参考一下
    2022-11-11
  • 如何使用C/C++链接mysql数据库

    如何使用C/C++链接mysql数据库

    本文给大家介绍了MySQL数据库的安装方法(手动导入或系统指令)及接口使用流程,包括初始化、链接、执行SQL、获取结果、释放内存等关键步骤,强调编码设置为UTF-8、正确处理头文件路径和内存泄漏问题,感兴趣的朋友跟随小编一起看看吧
    2025-09-09

最新评论