本文目录一览:
- 1、怎样查看mysql是否开启日志功能
- 2、如何查看mysql数据库操作记录日志
- 3、如何在MySql中记录SQL日志记录
- 4、mysql命令行用source执行sql,日志输出
- 5、mysql创建数据库时如何指定数据文件与日志文件的位置和大小
- 6、如何在mysql中记录sql日志记录
怎样查看mysql是否开启日志功能
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命令恢复数据。
如何查看mysql数据库操作记录日志
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命令恢复数据。
如何在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语句了。
mysql命令行用source执行sql,日志输出
有时候,我们要在命令行登录mysql,然后用source命令执行某sql文件,这样执行时,日志闪得飞快,还没来得及看,一下子就过了。这样不利于我们查看执行过程中的日志,我们不清楚是否存在执行错误的情况。那要怎么记录一下这样的日志呢?用tee就可以
这样会在/tmp目录下产生一个日志文件,接着再执行你想要的source /root/xx.sql命令吧
在mysql命令行执行的所有输出都会记录到这个日志文件里了
mysql创建数据库时如何指定数据文件与日志文件的位置和大小
Mysql创建数据库时会在如下目录创建以数据库名为名的目录
show variables like "%datadir%";
数据文件日志也就在相应目录下了。
日志大小、看看这些参数是否能达到你的目的:
命令行参数
–log-bin=filename:记录二进制日志文件的位置,尽量指定路径名,如果不指定的话则保存在数据目录;
–log-bin-index=file:记录二进制日志文件索引的位置,保存了日志文件名;
–max_binlog_size:单个文件最大多少;
–binlog-do-db=db_name:哪个数据库使用,只有这个数据库使用;
–binlog-ignore-db=db_name:哪个数据库不使用,只有这个数据库不使用;
系统变量
log_bin:日志的位置;
binlog_cache_size:二进制日志缓存大小,是每一个连接进来的线程分配的大小,不是整个服务器的大小;
max_binlog_cache_size:最大缓存大小;
max_binlog_size:单个文件最大大小,超过此大小则再分配一个文件,但是一个事务必须在一个文件中,所以可能会稍大点;
binlog_cache_use:当前连接使用的binlog缓存的事务的数量,使用show status like ‘binlog_cache_use’查看(show status命令显示了所有连接到mysql服务器的状态值);
binlog_cache_disk_use:如果binlog_cache_use不够用,则在磁盘上缓存,应该尽量避免;
binlog_do_db:设置master-slave时使用;
binlog-ignore-db:设置哪个数据库不记录日志;
sync_binlog:缓存与硬盘的同步频率(commit多少下同步一次,0表示服务器自动控制);
如何在mysql中记录sql日志记录
1、WIN的话,在安装目录下,找到my.ini文件
查[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指示多长时间算是执行时间。
2、LINUX下的话,文件名为my.cnf
Linux下这些配置项其实都有的,只是被注释掉了,删去注释符#之类的就可以了。
你不愿删注释符,愿意的话手工再添加也可以……
然后重启mysql服务就OK了。