【转载】Mysql binlog relaylog 日志迁移

背景:

默认情况下,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

来源: <http://gavins.blog.51cto.com/2315765/828195>

来自为知笔记(Wiz)

时间: 2024-10-13 15:40:56

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

mysql binlog 设置日志大小 保存时间

//本内容主要参考自   https://www.cnblogs.com/kevingrace/p/5907254.html   原文中包含如何恢复数据等操作 环境是centos 面板宝塔 使用命令行进入mysql的root //设置文件大小,单位是字节,下面换算是100M set global max_binlog_size=104857600; //设置文件保存天数,下面是保存7天 set global expire_logs_days = 7; 常用命令,前提都是在进入root账户后 查看

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

说明:当开启mysql数据库主从时,会产生大量如mysql-bin.00000* log的文件,这会大量耗费您的硬盘空间.mysql-bin.000001mysql-bin.000002mysql-bin.000003mysql-bin.000004mysql-bin.000005…有三种解决方法:1.关闭mysql主从,关闭binlog:2.开启mysql主从,设置expire_logs_days:3.手动清除binlog文件,> PURGE MASTER LOGS TO ‘MySQL-bin

mysql binlog日志优化及思路

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

基于binlog二进制日志的MySQL恢复笔记

基于binlog二进制日志的MySQL恢复笔记 刚好复习到这里,顺手做个小实验,记录下. 总的操作流程: step0.关掉数据库的对外访问[防止用户操作继续写入这个库] step1.mysqlbinlog 导出相关时间段数据库的二进制日志 step2.编辑today.sql找到误操作的那几条数据,删除并保存. step3.执行全备份恢复 mysql -e 'source /root/backup.sql;' step4.用二进制日志恢复今天的修改  mysql -e 'source /root/

MySQL grant用户授权 和 MYSQL bin-log日志 实操讲解

这一次我来简单地实际操作讲解下grant用户授权和bin-log日志,博文中配了很多操作过程中的图作为步骤流程讲解,大家跟着过程自己在电脑操作一遍,基本上就懂这方面的相关知识了.不多说,直接进入知识讲解. 远程主机连接用户授权 例:192.168.1.111mysql服务器 和192.168.1.112mysql服务器 一.MySQL grant用户授权  192.168.1.111登陆mysql ,给用户授权 查询下是否添加此用户 这样就成功给IP为192.168.1.112的主机授权mysq

mysql binlog日志自动清理及手动删除

说明:当开启mysql数据库主从时,会产生大量如mysql-bin.00000* log的文件,这会大量耗费您的硬盘空间.mysql-bin.000001mysql-bin.000002mysql-bin.000003mysql-bin.000004mysql-bin.000005-有三种解决方法:1.关闭mysql主从,关闭binlog:2.开启mysql主从,设置expire_logs_days:3.手动清除binlog文件,> PURGE MASTER LOGS TO 'MySQL-bin

MYSQL bin-log日志

MYSQL bin-log日志主要用于数据备份和恢复:其文件中保存了数据库的所有增删改操作 1.开启bin-log日志: 2.查看bin-log日志 连接成功数据库后 可以查看log_bin是否开启成功 查看bin-log日志 3.与bin_log有关的日志刷新 此时就会多一个最新的bin_log日志 可以再/usr/local/mysql/var中看到多了个mysql-bin.xxxxxx 查看最后一个bin-log日志 清空所有bin-log日志

MySQL binlog 日志

MySQL数据库正式上线之后,打开binlog 日志,发现磁盘激增100G.根源在 my.cnf 里面binlog Mysql>show variables like '%log%'; 查到此参数的相关设定: |expire_logs_days              |0| 这是一个global的参数,默认是0,也就是logs 不过期,我们可以将其设定为30天为一个轮询,命令如下所示: Set  global expire_logs_days=30; 这样重启mysql 也不会收到影响 删除

删除MySQL binlog日志的方法

对于比较繁忙的OLTP(在线事务处理)系统,由于每天生成日志量大,这些日志如果长时间不清除,将会对磁盘空间带来很大的浪费.因此,定期删除日志是DBA维护MySQL数据库的一个重要工作内容.下面跟大家分享几种删除MySQL binlog的方法.出自<深入浅出MySQL>第二版 注意事项: 1.MySQL binlog日志是数据库灾难后恢复的关键,删除前一定要做好备份 2.如果做了MySQL主从,从服务器,会读取主服上的binlog,所以删除前要注意 3.个人建议,若真要删除binlog腾出硬盘空