重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先先看看你的mysql在哪,通过which命令
成都创新互联公司2013年至今,先为济南等服务建站,济南等地企业,进行企业商务咨询服务。为济南企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
which mysql
显示出目录比如我的是下面这个
/usr/bin/mysql
接下来就可以针对这个目录通过一些命令查看配置文件在哪了,如下
/usr/bin/mysql --verbose --help | grep -A 1 'Default options'
然后在下面会出现一些信息比如我的
Default options are read from the following files in the given order:
/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf
这个信息的意思是:
服务器首先读取的是/etc/mysql/my.cnf文件,如果前一个文件不存在则继续读/etc/my.cnf文件,如若还不存在便会去读~/.my.cnf文件
1 在my.ini(window)配置文件里面
[mysqld]
log-bin=mysql-bin(名字可以随便起)
我们每次进行操作的时候,File_size都会增长
2、show binlog events
4. 用mysqlbinlog 工具来显示记录的二进制结果,然后导入到文本文件,为了以后的恢复。
详细过程如下:
binmysqlbinlog --start-position=4 --stop-position=106 mysqlbin-log.000001 D:\\test1.txt
或者全部导出:
binmysqlbinlog mysqlbin-log.000001 D:\\test1.txt
mysqlbinlog 是将 binlog 解析成可读可执行的 SQL 的重要工具。
但解析体积较大的 binlog 时,如何查看 mysqlbinlog 的执行进度就变成了一个问题,mysqlbinlog 并未提供 –progress 这样的参数。
那要怎么查看 mysqlbinlog 的解析进度?
实验
我们在 实验 08 中介绍了如何生成随机数据。可以利用其中技巧,生成较大的 binlog,我们忽略这个过程。
从已有的 binlog 开始,bin.000002 大约有 1.1 个 G:
用 mysqlbinlog 解析该 binlog:
大概会执行 4.6 秒左右。大家仔细做实验时,可以将 binlog 放大一些,让执行实验更长一些。
我们在 mysqlbinlog 解析时,查看其文件句柄:
可以看到 mysqlbinlog 用句柄 3 读取 binlog。(我们暂时忽略句柄 4 指向的临时文件,其涉及到了行格式的解析过程,我们安排在以后的实验中慢慢介绍)
获取了 mysqlbinlog 处理文件句柄 3 的进度,就可以大概估算 mysqlbinlog 的整体进度:
可以看到 mysqlbinlog 此时的进度大概是 600M 左右,整体进度估算为 54%。
结论
我们无法让 mysqlbinlog 直接输出进度,于是通过观察 mysqlbinlog 对 binlog 的读取进度,估算mysqlbinlog 的整体处理进度。
binlog 即二进制日志 它记录了数据库上面的所有改变
首先进入 mysql 命令行下面
1.查看 binlog 文件列表
mysql show binary logs;
2.查看指定 binlog 文件的内容
mysql show binlog events in 'mysql-bin.000008';