189 8069 5689

mysql增加日志怎么写 mysql增加日志文件

mysql类怎么设置添加报错提示的function写入日志

有两种方法,一种方法使用mysql的check table和repair table 的sql语句,另一种方法是使用MySQL提供的多个myisamchk, isamchk数据检测恢复工具。前者使用起来比较简便。推荐使用。

创新互联建站2013年开创至今,是专业互联网技术服务公司,拥有项目成都做网站、成都网站建设、成都外贸网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元铁山做网站,已为上家服务,为铁山各地企业和个人服务,联系电话:18982081108

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服务器必须没有启动!检测修复所有数据库(表)

如何在MySql中记录SQL日志记录

查了一下资料,My SQL可以用下面方法跟踪sql 语句,以下方法以Windows平台为例,linux雷同:

1 配置my.ini文件(在安装目录,linux下文件名为my.cnf

查找到[mysqld]区段,增加日志的配置,如下示例:[mysqld]log=C:/temp/mysql.log

log_slow_queries=C:/temp/mysql_slow.log

long_query_time=1

log指示日志文件存放目录;

log_slow_queries指示记录执行时间长的sql日志目录;

long_query_time指示多长时间算是执行时间长,单位s。

Linux下这些配置项应该已经存在,只是被注释掉了,可以去掉注释。但直接添加配置项也OK啦。

2 重新启动mysql服务。注意事项:A日志存放目录必须提前存在,否则不能记录日志。这里也局势C:/temp目录必须已经存在

B 日志文件是linux格式的文本,建议用ultraEdit打开,转换为dos格式查看(否则没有换行,看不懂的)

C 服务在启动状态下不能删除日志文件,否则就无法记录sql语句了。

D 不能用ultraEdit直接清除文件内容后保存,否则也记录不下来了。需要重启服务,如果ultraEdit保存了.bak,后记录到此文件中。

E 可以用notepad清除文本后保存,可以继续记录日志。

求一个详细的mysql 存储过程例子,带写日志的那种,不要也不要太简单啊。

如果想带日志只有自己写了,可以使用row_count()返回改的的行数

例如

create procedure p_a1(in p_id int,in p_name varchar(20),out p_out varchar(200))

begin

declare p_cm int;

set p_cm = 0;

insert into a1(id,name) values(p_id,p_name);

select row_count() into p_cm;

if (p_cm = 1)

then

set p_out = '成功';

else

set p_out = '不成功';

end if;

end;

mysql call p_a1(5,'KK',@a2)//

Query OK, 1 row affected (0.01 sec)

mysql select @a2//

+--------+

| @a2 |

+--------+

| 成功 |

+--------+

1 row in set (0.01 sec)

以上来自手打,希望对你有帮助!呵呵~

如何将syslogng的日志写入MySQL数据库

转载我在使用syslog-ng搭建日志服务器中已经讲了如何将syslog-ng配置为中心日志服务器,下面介绍如何将syslogng的日志写入mysql数据库

系统:Gentoo-2007

1、修改/etc/syslog-ng/syslog-ng.conf,添加

CODE:

source s_remote {

udp(ip(0.0.0.0) port(514));

};

destination r_mysql {

program("/usr/bin/mysql -usyslogadmin -psyslogadmin syslog /var/log/mysql.pipe");

pipe("/var/log/mysql.pipe"

template("INSERT INTO logs

(host, facility, priority, level, tag, datetime, program, msg)

VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC',

'$PROGRAM', '$MSG' );\n") template-escape(yes));

};

log { source(s_remote); destination(r_mysql); };

2、建立mysql.pipe文件按

#mkfifo /var/log/mysql.pipe

3、重新启动syslog-ng

#/etc/init.d/syslog-ng restart

这种方法如果结合phpsyslogng一起使用,就可以在浏览器中对日志进行进一步的过滤和查看,非常方便。

怎么开启mysql日志功能

1)怎么查看mysql是否启用了日志

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增加日志怎么写 mysql增加日志文件
本文来源:http://jkwzsj.com/article/docdshi.html

其他资讯