背景:

 
默认情况下,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. 【C语言】二维数组做形参

    二维数组有两种形式: ①在栈上:         int a[4][4] = {...}; ②在堆堆上:          int ** a = new int *[4];           for ...

  2. 优化DB2缓冲页的大小

    零部件日结无法进行下去,建议配置C:\Program Files\SQLLIB目录下的db2cli.ini文件,加入此节:[DMSCNDB]CLIPkg=5 并重启DB2试试 另外,可以在命令行处理器 ...

  3. light oj 1205 - Palindromic Numbers 数位DP

    思路:搜索的时候是从高位到低位,所以一旦遇到非0数字,也就确定了数的长度,这样就知道回文串的中心点. 代码如下: #include<iostream> #include<cstdio ...

  4. Linux网络编程4——个人总结

    TCP与UDP通信流程 TCP通信的基本步骤如下: 服务端:socket---bind---listen---while(1){---accept---recv---send---close---}- ...

  5. node操作MongoDB数据库之插入

    在上一篇中我们介绍了MongoDB的安装与配置,接下来的我们来看看在node中怎样操作MongoDB数据库. 在操作数据库之前,首先应该像关系型数据库一样建个数据库把... 启动数据库 利用命令提示符 ...

  6. android真机自动化测试

    appium执行用例时报错问题: 问题解析: 一般该种情况都是因为来连接了多个设备,验证办法:cmd->执行adb devices  看结果是否是多个devices ,如果是这个问题,停掉多余设 ...

  7. lintcode : 跳跃游戏

    跳跃游戏 给出一个非负整数数组,你最初定位在数组的第一个位置. 数组中的每个元素代表你在那个位置可以跳跃的最大长度. 判断你是否能到达数组的最后一个位置. 样例 A = [2,3,1,1,4],返回 ...

  8. Java7编程 高级进阶学习笔记--嵌套类

    定义: 在一个类中定义的类叫做嵌套类. 作用: 1.允许对相关类进行逻辑分组 2.增强了代码的封装性 3.使代码具有更强的可读性和维护性 使用方式: package com.cmz.baseTest; ...

  9. hibernate中openSession()跟getCurrentSession()方法之间的区别

    Hibernate openSession() 和 getCurrentSession的区别 getHiberanteTemplate .getCurrentSession和OpenSession 采 ...

  10. Hive常用的SQL命令操作

    Hive提供了很多的函数,可以在命令行下show functions罗列所有的函数,你会发现这些函数名与mysql的很相近,绝大多数相同的,可通过describe function functionN ...