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


Posted in MySQL onMay 26, 2021

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

一、准备

用两台服务器做测试:

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;

MySQL 相关文章推荐
MySQL的join buffer原理
Apr 29 MySQL
详解MySQL 联合查询优化机制
May 10 MySQL
如何用Navicat操作MySQL
May 12 MySQL
MySQL 使用事件(Events)完成计划任务
May 24 MySQL
解析MySQL binlog
Jun 11 MySQL
浅谈MySQL之浅入深出页原理
Jun 23 MySQL
深入解析MySQL索引数据结构
Oct 16 MySQL
MySQL 服务和数据库管理
Nov 11 MySQL
MySQL之MyISAM存储引擎的非聚簇索引详解
Mar 03 MySQL
MySQL优化及索引解析
Mar 17 MySQL
你真的会用Mysql的explain吗
Mar 31 MySQL
Mysql InnoDB 的内存逻辑架构
May 06 MySQL
MYSQL数据库使用UTF-8中文编码乱码的解决办法
May 26 #MySQL
Mysql效率优化定位较低sql的两种方式
May 26 #MySQL
Mysql中 unique列插入重复值该怎么解决呢
May 26 #MySQL
MySQL查看表和清空表的常用命令总结
May 26 #MySQL
MySQL中distinct与group by之间的性能进行比较
MySQL中distinct和count(*)的使用方法比较
May 26 #MySQL
MySQL中出现乱码问题的终极解决宝典
You might like
PHP写入WRITE编码为UTF8的文件的实现代码
2008/07/07 PHP
使用PHP获取当前url路径的函数以及服务器变量
2013/06/29 PHP
php导出excel格式数据问题
2014/03/11 PHP
php5.3 goto函数介绍和示例
2014/03/21 PHP
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
php常用表单验证类用法实例
2015/06/18 PHP
Json_encode防止汉字转义成unicode的方法
2016/02/25 PHP
PHP简单留言本功能实现代码
2017/06/09 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
php intval函数用法总结
2019/04/14 PHP
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
JavaScript中输出标签的方法
2014/08/27 Javascript
AngularJs中route的使用方法和配置
2016/02/04 Javascript
JavaScript如何获取到导航条中HTTP信息
2017/10/10 Javascript
js定时器实现倒计时效果
2017/11/05 Javascript
Vue+SpringBoot开发V部落博客管理平台
2017/12/27 Javascript
使用Vue动态生成form表单的实例代码
2018/04/26 Javascript
浅谈Node.js 中间件模式
2018/06/12 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
基于vue-cli3创建libs库的实现方法
2019/12/04 Javascript
基于vue+echarts 数据可视化大屏展示的方法示例
2020/03/09 Javascript
深入分析JavaScript 事件循环(Event Loop)
2020/06/19 Javascript
在Python中实现shuffle给列表洗牌
2018/11/08 Python
通过 Python 和 OpenCV 实现目标数量监控
2020/01/05 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
2020/06/30 Python
信访工作者先进事迹
2014/01/17 职场文书
小学端午节活动方案
2014/03/13 职场文书
员工入职担保书范文
2014/04/01 职场文书
让生命充满爱演讲稿
2014/05/10 职场文书
安全生产承诺书范文
2014/05/22 职场文书
出纳工作检讨书范文
2014/12/27 职场文书
大三学生英语考试作弊检讨书
2015/01/01 职场文书
2015年教研组工作总结
2015/05/04 职场文书
中秋节感想
2015/08/10 职场文书
PHP使用非对称加密算法RSA
2021/04/21 PHP
springboot创建的web项目整合Quartz框架的项目实践
2022/06/21 Java/Android