背景:

 
默认情况下,mysql的数据、binlog、relaylog都是保存在同一个磁盘上,路径根据每个人的设置不一。

当mysql数据库中数据或日志增长很快时,磁盘可能面临空间不够或者IO性能跟不上,所以把日志迁移到其他磁盘是首先想到的工作。

但日志迁移的文档并不多,本文根据实践记录,希望对大家有点参考作用。
 
假设迁移前的路径如下:
binlog:    /data/mysql_data/
mysql数据: /data/mysql_data/
mysql relay log :/data/mysql_data/

 
计划迁移的目标路径是:
binlog: /data2/mysql_binlog/
relaylog :/data2/mysql_relaylog/

 

一、迁移binlog

 
1、首先停止mysql
2、复制所有binlog到其他磁盘,假设是:
/data2/mysql_binlog/mysql-bin.*

同时要复制mysql-bin.index到新路径
 
3、修改my.cnf配置文件
log-bin=/data2/mysql_binlog/mysql-bin

 
4、编辑 mysql-bin.index
把内容修改为绝对路径:
/data2/mysql_binlog/mysql-bin.000001
/data2/mysql_binlog/mysql-bin.000002
/data2/mysql_binlog/mysql-bin.000003
/data2/mysql_binlog/mysql-bin.000004

 
如果出现如下错误,则可能是没有修改:
/usr/local/mysql/bin/mysqld: File './mysql-bin.000003' not found (Errcode: 2)
120301 22:51:06 [ERROR] Failed to open log (file './mysql-bin.000003', errno 2)
120301 22:51:06 [ERROR] Could not open log file
120301 22:51:06 [ERROR] Can't init tc log
120301 22:51:06 [ERROR] Aborting

 
5、启动mysql
/ett/init.d/mysql start

 
 

二、迁移relay log


relaylog的迁移稍微有点不一样,不知您发现没有,my.cnf默认没有relaylog的配置,其实是有的。
 
1、首先停止mysql
2、把relaylog复制到目标路径,假设是:
/data2/mysql_relaylog/ubuntu-relay-bin.*

同时复制 ubuntu-relay-bin.index
 
3、同时在my.cnf中增加一条
relay_log=/data2/mysql_relaylog/ubuntu-relay-bin.log

 
4、然后编辑  ubuntu-relay-bin.index   把路径改为新的绝对路径
/data2/mysql_relaylog/ubuntu-relay-bin.*

 
5、编辑 relay-log.info文件
sudo vim /data1/mysqldata/relay-log.info

也是改为新的绝对路径
 
6、启动mysql
/ett/init.d/mysql start

【转载】Mysql binlog relaylog 日志迁移的更多相关文章

  1. Mysql binlog二进制日志

    Mysql binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的实际原sql语句都会被记录在binlog中. 优点:不需要记录每一 ...

  2. 转载-MySQL binlog三种模式及设置方法

    原文地址:http://www.cnblogs.com/yangliheng/p/6187327.html 1.1 Row Level  行模式 日志中会记录每一行数据被修改的形式,然后在slave端 ...

  3. 带你了解 MySQL Binlog 不为人知的秘密

    MySQL 的 Binlog 日志是一种二进制格式的日志,Binlog 记录所有的 DDL 和 DML 语句(除了数据查询语句SELECT.SHOW等),以 Event 的形式记录,同时记录语句执行时 ...

  4. 【转载】mysql binlog日志自动清理及手动删除

    说明:当开启mysql数据库主从时,会产生大量如mysql-bin.00000* log的文件,这会大量耗费您的硬盘空间.mysql-bin.000001mysql-bin.000002mysql-b ...

  5. [转载]mysql的binlog安全删除

    [转载]mysql的binlog安全删除  理论上,应该在配置文件/etc/my.cnf中加上binlog过期时间的配置项,expire_logs_days = 10 但是如果没有加这一项,随着产生越 ...

  6. 删除MySQL binlog日志的方法

    对于比较繁忙的OLTP(在线事务处理)系统,由于每天生成日志量大,这些日志如果长时间不清除,将会对磁盘空间带来很大的浪费.因此,定期删除日志是DBA维护MySQL数据库的一个重要工作内容.下面跟大家分 ...

  7. MySQL - binlog日志简介及设置

    基本概念 binlog是Mysql sever层维护的一种二进制日志,与innodb引擎中的redo/undo log是完全不同的日志:其主要是用来记录对mysql数据更新或潜在发生更新的SQL语句, ...

  8. mysql binlog日志优化及思路

    在数据库安装完毕,对于binlog日志参数设置,有一些参数的调整,来满足业务需求或使性能最大化.Mysql日志主要对io性能产生影响,本次主要关注binlog 日志. 查一下二进制日志相关的参数    ...

  9. MySQL bin-log 日志清理方式

    MySQL bin-log 作用   1.数据恢复:如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失. 2.主从服务器之间同步数据:主 ...

随机推荐

  1. Ogre1.8.1源码编译

    本文的编译环境为Windows7_SP1 + VS2010_SP1 + CMake2.8.11   :) 资源下载 1. 下载Ogre1.8.1的源代码,下载链接地址:http://www.ogre3 ...

  2. MVC中 ViewBag、ViewData和TempData区别

    MVC3中 ViewBag.ViewData和TempData的使用和区别 public dynamic ViewBag { get; } public ViewDataDictionary View ...

  3. HDU 4632 Palindrome subsequence(区间dp,回文串,字符处理)

    题目 参考自博客:http://blog.csdn.net/u011498819/article/details/38356675 题意:查找这样的子回文字符串(未必连续,但是有从左向右的顺序)个数. ...

  4. codeforces 425A Sereja and Swaps(模拟,vector,枚举区间)

    题目 这要学习的是如何枚举区间,vector的基本使用(存入,取出,排序等),这题的思路来自: http://www.tuicool.com/articles/fAveE3 //vector 可以用s ...

  5. UITextField中文搜索

    导入头文件 #import "ChineseInclude.h"#import "PinYinForObjc.h" NSMutableArray *search ...

  6. POJ 2014

    #include <iostream> using namespace std; int main() { //freopen("acm.acm","r&qu ...

  7. 使用Ninject来解决程序中组件的耦合问题

    1.为什么要用Ninject? Ninject是一个IOC容器用来解决程序中组件的耦合问题,它的目的在于做到最少配置.其他的的IOC工具过于依赖配置文件,需要使用assembly-qualified名 ...

  8. DB2对年份的处理Year()

    public DataSet GetCustomerAllocListByQC(CustomerAllocQueryDataContract aQC) { StringBuilder sql = ne ...

  9. PHP Simple HTML DOM解析器

    一直以来使用php解析html文档树都是一个难题.Simple HTML DOM parser 帮我们很好地解决了使用 php html 解析 问题.可以通过这个php类来解析html文档,对其中的h ...

  10. C#获取根目录的方法集合

    1.取得控制台应用程序的根目录方法      方法1.Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径      方法2.AppDomain.Curren ...