视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
mysql5.6.12切换binlog二进制日志路径_MySQL
2020-11-09 20:14:08 责编:小采
文档


前言:
有一个mysql学生说他们因为binlog产生太大了,需要把日志路径放到另外的磁盘上面去,问我有啥时机的操作方案,share弄了一个mysql的binlog的日志路径切换的例子给他。正好今天有空,就拿mysql5.6.12来做个实例,给大家演示一下。

1,查看binlog地址

[root@mysql5612 ~]# more /usr/local/mysql/my.cnf |grep log-bin
log-bin =/home/data/mysql/binlog/mysql-bin.log
[root@mysql5612 ~]# 

2,验证binlog的正常使用

[root@mysql5612 binlog]# pwd
/home/data/mysql/binlog
[root@mysql5612 binlog]# mysql
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 390217
Server version: 5.6.12-log Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create table z2 select 2 as a;
ERROR 1046 (3D000): No database selected
mysql> create table test.z2 select 2 as a;
Query OK, 1 row affected (0.04 sec)
Records: 1 Duplicates: 0 Warnings: 0

mysql> exit
Bye
[root@mysql5612 binlog]# ll
总用量 6240204
-rw-rw----. 1 mysql mysql 1073742187 6月 8 2015 mysql-bin.000048
-rw-rw----. 1 mysql mysql 1073741968 6月 8 2015 mysql-bin.000049
-rw-rw----. 1 mysql mysql 1073742063 6月 8 2015 mysql-bin.000050
-rw-rw----. 1 mysql mysql 1073741957 6月 8 2015 mysql-bin.000051
-rw-rw----. 1 mysql mysql 1073742142 6月 8 2015 mysql-bin.000052
-rw-rw----. 1 mysql mysql 1021194604 12月 10 20:44 mysql-bin.000053
-rw-rw----. 1 mysql mysql 615 6月 8 2015 mysql-bin.index
[root@mysql5612 binlog]# 

看到binlog日志更新了,在20:44时间处,binlog日志mysql-bin.000053有更新记录。然后冲洗mysql服务,看看binlog是否会重新生成:

[root@mysql5612 binlog]# service mysqld56 restart
Shutting down MySQL................. [确定]
Starting MySQL..... [确定]
[root@mysql5612 binlog]# 
[root@mysql5612 binlog]# ll
总用量 997276
-rw-rw----. 1 mysql mysql 1021194627 12月 10 20:46 mysql-bin.000053
-rw-rw----. 1 mysql mysql 399 12月 10 20:47 mysql-bin.000054
-rw-rw----. 1 mysql mysql 82 12月 10 20:46 mysql-bin.index
[root@mysql5612 binlog]# 

果然,有新的mysql-bin.000054日志生成了。

原csdn的blog地址:http://blog.csdn.net/mchdba/article/details/50254903,未经过原作者黄杉(mchdba)允许,不得转载


3,去修改binlog日志路径

建立新的binlog日志路径:

[root@mysql5612 binlog]# mkdir -p /home/data/mysql/binlog_new
[root@mysql5612 binlog]# 
[root@mysql5612 binlog]# chown -R mysql.mysql /home/data/mysql/binlog_new
[root@mysql5612 binlog]# 

然后修改my.cnf,设置新的log-bin路径:

[root@mysql5612 binlog]# vim /usr/local/mysql/my.cnf
log-bin =/home/data/mysql/binlog_new/mysql-bin

查看配置文件的binlog路径:

[root@mysql5612 mysql]# more /usr/local/mysql/my.cnf |grep log-bin
log-bin =/home/data/mysql/binlog_new/mysql-bin
[root@mysql5612 mysql]# 

4,重启mysql服务

[root@mysql5612 mysql]# service mysqld56 restart
Shutting down MySQL.. [确定]
Starting MySQL..... [确定]
[root@mysql5612 mysql]# 

5,验证新的binlog

查看生成的日志,有新的如下所示:

[root@mysql5612 mysql]# cd /home/data/mysql/binlog_new/
[root@mysql5612 binlog_new]# ll
总用量 12
-rw-rw----. 1 mysql mysql 143 12月 10 21:09 mysql-bin.000001
-rw-rw----. 1 mysql mysql 399 12月 10 21:10 mysql-bin.000002
-rw-rw----. 1 mysql mysql 90 12月 10 21:10 mysql-bin.index
[root@mysql5612 binlog_new]# 

建立新表,录入数据:

[root@mysql5612 binlog_new]# mysql
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.12-log Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> create table z3 select 3 as a;
Query OK, 1 row affected (0.01 sec)
Records: 1 Duplicates: 0 Warnings: 0

mysql> insert into z3 select 4;
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0

mysql> insert into z3 select 5;
Query OK, 1 row affected (0.00 sec)
Records: 1 Duplicates: 0 Warnings: 0

mysql> select * from z4;
ERROR 1146 (42S02): Table 'test.z4' doesn't exist
mysql> select * from z3;
+---+
| a |
+---+
| 3 |
| 4 |
| 5 |
+---+
3 rows in set (0.00 sec)

mysql> 

再去查看binlog,mysql-bin.000002从399增大到1085,表示有新的二进制日志产生了:

[root@mysql5612 binlog_new]# ll
总用量 12
-rw-rw----. 1 mysql mysql 143 12月 10 21:09 mysql-bin.000001
-rw-rw----. 1 mysql mysql 1085 12月 10 21:11 mysql-bin.000002
-rw-rw----. 1 mysql mysql 90 12月 10 21:10 mysql-bin.index
[root@mysql5612 binlog_new]# 

再使用mysqlbinlog工具去看下产生的新日志是否刚在建立的z3表记录,看到有所有关于test库建立的z3表的操作记录,如下所示:

[root@mysql5612 binlog_new]# /usr/local/mysql/bin/mysqlbinlog --base-output=DECODE-ROWS -v mysql-bin.000002
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#151210 21:10:05 server id 72 end_log_pos 120 CRC32 0xa723f142 Start: binlog v 4, server v 5.6.12-log created 151210 21:10:05 at startup
# Warning: this binlog is either in use or was not closed properly.
ROLLBACK/*!*/;
# at 120
#151210 21:10:07 server id 72 end_log_pos 206 CRC32 0x447f5733 Query thread_id=1 exec_time=0 error_code=0
SET TIMESTAMP=1449753007/*!*/;
SET @@session.pseudo_thread_id=1/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=10758376/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C utf8mb4 *//*!*/;
SET @@session.character_set_client=45,@@session.collation_connection=45,@@session.collation_server=45/*!*/;
SET @@session.time_zone='SYSTEM'/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
BEGIN
/*!*/;
# at 206
#151210 21:10:07 server id 72 end_log_pos 274 CRC32 0xde0b7250 Table_map: `access_log`.`access_log` mapped to number 70
# at 274
#151210 21:10:07 server id 72 end_log_pos 368 CRC32 0xa03a9659 Write_rows: table id 70 flags: STMT_END_F
### INSERT INTO `access_log`.`access_log`
### SET
### @1=10534
### @2=1
### @3=1449753007
### @4='[email protected]'
### @5='[email protected]%'
# at 368
#151210 21:10:07 server id 72 end_log_pos 399 CRC32 0x3ccf3c72 Xid = 3
COMMIT/*!*/;
# at 399
#151210 21:10:58 server id 72 end_log_pos 471 CRC32 0xef9ce950 Query thread_id=2 exec_time=0 error_code=0
SET TIMESTAMP=1449753058/*!*/;
BEGIN
/*!*/;
# at 471
#151210 21:10:58 server id 72 end_log_pos 593 CRC32 0x92e79f36 Query thread_id=2 exec_time=0 error_code=0
use `test`/*!*/;
SET TIMESTAMP=1449753058/*!*/;
CREATE TABLE `z3` (
 `a` int(1) NOT NULL DEFAULT '0'
)
/*!*/;
# at 593
#151210 21:10:58 server id 72 end_log_pos 638 CRC32 0x65f13b58 Table_map: `test`.`z3` mapped to number 107
# at 638
#151210 21:10:58 server id 72 end_log_pos 678 CRC32 0xaa7fb7e1 Write_rows: table id 107 flags: STMT_END_F
### INSERT INTO `test`.`z3`
### SET
### @1=3
# at 678
#151210 21:10:58 server id 72 end_log_pos 709 CRC32 0x218a319c Xid = 60
COMMIT/*!*/;
# at 709
#151210 21:11:04 server id 72 end_log_pos 781 CRC32 0x9662b95e Query thread_id=2 exec_time=0 error_code=0
SET TIMESTAMP=14497530/*!*/;
BEGIN
/*!*/;
# at 781
#151210 21:11:04 server id 72 end_log_pos 826 CRC32 0x46f32822 Table_map: `test`.`z3` mapped to number 107
# at 826
#151210 21:11:04 server id 72 end_log_pos 866 CRC32 0xafb27f1e Write_rows: table id 107 flags: STMT_END_F
### INSERT INTO `test`.`z3`
### SET
### @1=4
# at 866
#151210 21:11:04 server id 72 end_log_pos 7 CRC32 0x351c7718 Xid = 63
COMMIT/*!*/;
# at 7
#151210 21:11:10 server id 72 end_log_pos 969 CRC32 0x76931e05 Query thread_id=2 exec_time=0 error_code=0
SET TIMESTAMP=1449753070/*!*/;
BEGIN
/*!*/;
# at 969
#151210 21:11:10 server id 72 end_log_pos 1014 CRC32 0xe7e47b Table_map: `test`.`z3` mapped to number 107
# at 1014
#151210 21:11:10 server id 72 end_log_pos 1054 CRC32 0xbdafa096 Write_rows: table id 107 flags: STMT_END_F
### INSERT INTO `test`.`z3`
### SET
### @1=5
# at 1054
#151210 21:11:10 server id 72 end_log_pos 1085 CRC32 0x831695c0 Xid = 
COMMIT/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
[root@mysql5612 binlog_new]# 

这表明我们的binlog路径切换操作成功完成了。

下载本文
显示全文