本文目录一览:
- 1、mysql开启binlog日志
- 2、怎么样通过开启MySQL查询日志log
- 3、如何添加和调整mysql innodb log文件
- 4、如何设置Log文件,记录数据库的操作信息
- 5、centos怎么开启mysql的日志服务
- 6、如何修改mysql 的binlog
mysql开启binlog日志
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 的整体处理进度。
怎么样通过开启MySQL查询日志log
如何查看当前的二进制日志,可以使用mysqlbinlog的的工具,命令如下:shellmysqlbinlog mail-bin.000001(要写绝对问题路径 d://)或者shellmysqlbinlog mail-bin.000001 | tail
4)mysql有以下几种日志:错误日志: -log-err查询日志: -log慢查询日志: -log-slow-queries更新日志: -log-update二进制日志: -log-bin在mysql的安装目录下,打开my.ini,在后面加上上面的参数,保存后重启mysql服务就行了。例如:#Enter a name for the errorlog file. Otherwise a defaultname will be used.log-error=err.log#Enter a name for the querylog file. Otherwise a default name will be used.#log=#Enter a name for the slowquery log file. Otherwise a default name will be used.#log-slow-queries=#Enter a name for the updatelog file. Otherwise a default name will be used.#log-update=#Enter a name for the binarylog. Otherwise a default name will be used.#log-bin=上面只开启了错误日志,要开其他的日志就把前面的“#”去掉。
如何添加和调整mysql innodb log文件
添加调整innodb log文件步骤:
1. 停止mysql服务
1
# /etc/init.d/mysqld stop
[warning]定要关闭[/warning]2. 根据innodb_log_group_home_dir变量进入志目录
1
# cd /data/mysql_data
3. 备份旧志文件防测便于退
1
# mv ib_logfile* /backup/
4. 按照要求调整志文件或数量并写入my.cnf文件
innodb_log_file_size调整志文件
innodb_log_files_in_group调整志文件数量
innodb_log_group_home_dir调整志文件位于目录
5. 重新启mysql服务
该程按照新志配置创建志文件同注意查看mysql错误志监控否错
如何设置Log文件,记录数据库的操作信息
1、首先确认你日志是否启用了mysqlshow
variables
like
'log_bin'。
2、如果启用了,即ON,那日志文件就在mysql的安装目录的data目录下。
3、怎样知道当前的日志mysql
show
master
status。
4、看二进制日志文件用mysqlbinlog,shellmysqlbinlog
mail-bin.000001或者shellmysqlbinlog
mail-bin.000001
|
tail,Windows
下用类似的。
MySQL的日志操作:
1、首先,登陆mysql后,执行sql语句:show
variables
like
'log_bin'。
2、#错误日志log-errol开启方式:在my.ini的[mysqld]选项下:添加代码:log-error=E:\log-error.txt。
记录内容:主要是记录启动、运行或停止mysqld时出现的致命性问题,都是系统级的错误记录。
3、#查询日志:log,开启方式:在my.ini的[mysqld]选项下:添加代码:log=E:/mysql_log.txt。
4、#二进制日志:log-bin,开启方式:在my.ini的[mysqld]选项下:添加代码:log-bin=E:/mysql_log_bin,记录内容:主要是记录所有的更改数据的语句,可使用mysqlbinlog命令恢复数据。
centos怎么开启mysql的日志服务
Linux作为类Unix,同样也存在这两种风格,其中Centos属于System V,本文主要介绍在Centos下(即System V风格)如何启动和关闭MySQL,同时简单介绍BSD系统的情况。
MySQL启动方式
1)直接调用mysqld。这是最不常见的方式,不推荐使用。
2)运行mysql.server脚本
mysql.server脚本通过调用mysqld_safe启动服务器,该脚本可以通过参数start和stop指定启动还是关闭。
mysql.server脚本在MySQL安装目录下的share/mysql目录中,如果是采用源码安装的MySQL,则可以在support-files目录里找到。如果想使用mysql.server,则必须把它复制到合适的运行级别目录中,如下所示:
?
1
2
[plain]
cp mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
如上配置之后,就可以利用以下命令启动和关闭MySQL实例了:
[sql]
service mysqld start/stop
/etc/init.d/mysqld start/stop
使用chkconfig命令配置开机自动启动:
[sql]
chkconfig --add mysqld
chkconfig mysqld on
运行以下命令检查是否正确启用:
[plain]
[root@data data]# chkconfig --list mysqld
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
MySQL关闭方式
如何修改mysql 的binlog
有两种方法,一种方法使用mysql的check table和repair table 的sql语句,另一种方法是使用MySQL提供的多个myisamchk, isamchk数据检测恢复工具。前者使用起来比较简便。推荐使用。
1. check table 和 repair table
登陆mysql 终端:
mysql -uxxxxx -p dbname
check table tabTest;
如果出现的结果说Status是OK,则不用修复,如果有Error,可以用:
repair table tabTest;
进行修复,修复之后可以在用check table命令来进行检查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。
2. myisamchk, isamchk
其中myisamchk适用于MYISAM类型的数据表,而isamchk适用于ISAM类型的数据表。这两条命令的主要参数相同,一般新的系统都使用MYISAM作为缺省的数据表类型,这里以myisamchk为例子进行说明。当发现某个数据表出现问题时可以使用:
myisamchk tablename.MYI
进行检测,如果需要修复的话,可以使用:
myisamchk -of tablename.MYI
关于myisamchk的详细参数说明,可以参见它的使用帮助。需要注意的时在进行修改时必须确保MySQL服务器没有访问这个数据表,保险的情况下是最好在进行检测时把MySQL服务器Shutdown掉。
-----------------------------
另外可以把下面的命令放在你的rc.local里面启动MySQL服务器前:
[ -x /tmp/mysql.sock ] /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI
其中的/tmp/mysql.sock是MySQL监听的Sock文件位置,对于使用RPM安装的用户应该是/var/lib/mysql/mysql.sock,对于使用源码安装则是/tmp/mysql.sock可以根据自己的实际情况进行变更,而pathtochk则是myisamchk所在的位置,DATA_DIR是你的MySQL数据库存放的位置。
需要注意的时,如果你打算把这条命令放在你的rc.local里面,必须确认在执行这条指令时MySQL服务器必须没有启动!检测修复所有数据库(表)