扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1)怎么查看mysql是否启用了日志
创新互联公司基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业服务器托管报价,主机托管价格性价比高,为金融证券行业德阳机房服务器托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。
mysqlshow variables like 'log_bin';
2)怎样知道当前的日志
mysql show master status;
3)如何查看当前的二进制日志,可以使用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 error
log file. Otherwise a default
name will be used.
log-error=err.log
#Enter a name for the query
log file. Otherwise a default name will be used.
#log=
#Enter a name for the slow
query log file. Otherwise a default name will be used.
#log-slow-queries=
#Enter a name for the update
log file. Otherwise a default name will be used.
#log-update=
#Enter a name for the binary
log. Otherwise a default name will be used.
#log-bin=
上面只开启了错误日志,要开其他的日志就把前面的“#”去掉。
long_query_time =2--
这里设置慢日志的最大实现是指执行超过多久的sql会被log下来,这里是2秒
log-slow-queries=slowqueris.log --将查询返回较慢的语句进行记录,这里设置慢日志的名称
log-queries-not-using-indexes
= nouseindex.log --就是字面意思,log下来没有使用索引的query
5)下面是配置日志的几种方式,不一定全都要配置,请根据自身需求选择性配置
log=mylog.log
--对所有执行语句进行记录
log-error=log-error.log
log=log-query.log
log-queries-not-using-indexes
log-warnings=2
log-slow-queries=log-slow-query.log
log-update=log-update.log
long_query_time=2
都知道MySQL日志文件一般在:/var/log/mysqld.log,下面就教您如何修改MySQL日志文件位置的方法。 方法/步骤 首先打开CMD,连接上数据库 然后,我们会发现MySQL日志位是指定的,在/etc/my.cnf中怎么也改不了 chkconfig --list发现是chkconfig on...
MySQL分为两大部分。上层是 MySQL-Server ,下层是 可插拔的存储引擎 。
binlog 存放的位置由 datadir 参数控制
执行下面的查询语句即可:
目录下有两种文件: binlog.0000XX 和 binlog.index
一般关于binlog的配置都写在MySQL的配置文件中: my.cnf , 以方便启动mysql时直接让这些配置生效
常见的binlog有如下的作用
都知道MySQL日志文件一般在:/var/log/mysqld.log,下面就教您如何修改MySQL日志文件位置的方法。
方法/步骤
首先打开CMD,连接上数据库
然后,我们会发现MySQL日志位是指定的,在/etc/my.cnf中怎么也改不了
chkconfig --list发现是chkconfig on指定的,天是
vim /etc/init.d/mysqld得知这里的已经配置
更改到这里就可以了~
(转载)
如何开启windows
mysql日志与查询功能?请看本文吧。
修改
my.ini文件
加入以下语句(在没有设置的前提下)
复制代码代码如下:
log-error=d:/log/mysql/mysql_log_err.txt
log=d:/log/mysql/mysql_log.txt
#log-bin=d:/log/mysql/mysql_log_bin
log-slow-queries=
d:/log/mysql/mysql_log_slow.txt
使用以下命令查看是否启用了日志
复制代码代码如下:
mysqlshow
variables
like
’log_%’;
其他:
1.错误日志
记录启动、运行或停止mysqld时出现的问题。
My.ini配置信息:
复制代码代码如下:
#Enter
a
name
for
the
error
log
file.
Otherwise
a
default
name
will
be
used.
#log-error=d:/mysql_log_err.txt
2.查询日志
记录建立的客户端连接和执行的语句。
My.ini配置信息:
复制代码代码如下:
#Enter
a
name
for
the
query
log
file.
Otherwise
a
default
name
will
be
used.
#log=d:/mysql_log.txt
3.更新日志
记录更改数据的语句。不赞成使用该日志。
My.ini配置信息:
复制代码代码如下:
#Enter
a
name
for
the
update
log
file.
Otherwise
a
default
name
will
be
used.
#log-update=d:/mysql_log_update.txt
4.二进制日志
记录所有更改数据的语句。还用于复制。
My.ini配置信息:
复制代码代码如下:
#Enter
a
name
for
the
binary
log.
Otherwise
a
default
name
will
be
used.
#log-bin=d:/mysql_log_bin
5.慢日志
记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。
My.ini配置信息:
复制代码代码如下:
#Enter
a
name
for
the
slow
query
log
file.
Otherwise
a
default
name
will
be
used.
#long_query_time
=1
#log-slow-queries=
d:/mysql_log_slow.txt
查看MySQL执行的语句
想实时查看MySQL所执行的sql语句,类似mssql里的事件探查器。对my.ini文件进行设置,打开文件进行修改:
basedir=E:/MySQL 4.0.12 #bind-address=192.168.15.196 datadir=E:/MySQL 4.0.12/data #language=E:/MySQL 4.0.12/share/your language directory #slow query log#=slowqueris.log #tmpdir#= #port=3306 #set-variable=key_buffer=16M
ong_query_time =1 --是指执行超过多久的sql会被log下来,这里是1秒
log-slow-queries=slowqueris.log --将查询返回较慢的语句进行记录
log-queries-not-using-indexes = nouseindex.log --就是字面意思,log下来没有使用索引的query
log=mylog.log --对所有执行语句进行记录
以上参数开启后,可能会影响MySQL性能,在生产环境下建议关闭
如何使用新的更新日志
如果你只使用一个更新日志,你只须清空日志文件,然后移走旧的更新日志文件到一个备份中,然后启用新的更新日志。
用下列方法可以强制服务器启用新的更新日志:
mysqladmin flush-logs
你一般需要在命令行提供使用的`数据库用户:
mysqladmin –u root –p flush-logs mysqladmin refresh
你一般需要在命令行提供使用的数据库用户:
mysqladmin –u root –p refresh
如果你正在使用MySQL 3.21或更早的版本,你必须使用mysqladmin refresh。
SQL命令
FLUSH LOGS
重启服务器
上述方法都具有这样的功能:
关闭并且再打开标准和更新记录文件。如果你指定了一个没有扩展名的更新记录文件,新的更新记录文件的扩展数字将相对先前的文件加1。
mysqlFLUSH LOGS;
如何使用新的常规日志
用上面的方法同样可以强制更新常规日志。
要准备备份常规日志,其步骤可能复杂一些:
$ cd mysql-data-directory$ mv mysql.log mysql.old$ mysqladmin flush-tables
然后做一个备份并删除“mysql.old”。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流