mysql日志没在控制台打印log

mysql日志没在控制台打印log,第1张

mysql日志没在控制台打印log!

更改my.cnf配置文件 [root@git-server ~]# grep general_log /etc/my.cnf general_log = 1 general_log_file =

在mysql命令控制台 *** 作 需要root用户才有访问此文件的权限 默认这个日志是被关闭掉的。 mysql>show global variables like '%general%'+

将日志保存在mysql数据general_log表中!

mysql有以下几种日志:  

错误日志:     -log-err

查询日志:     -log

慢查询日志:   -log-slow-queries

更新日志:     -log-update

二进制日志: -log-bin

是否启用了日志 

mysql>show variables like 'log_%'

怎样知道当前的日志 

mysql> show master status

显示二进制日志数目 

mysql> show master logs

看二进制日志文件用mysqlbinlog 

shell>mysqlbinlog mail-bin.000001

或者

shell>mysqlbinlog mail-bin.000001 | tail

在配置文件中指定log的输出位置. 

Windows:Windows 的配置文件为 my.ini,一般在 MySQL 的安装目录下或者 c:\Windows 下。

Linux:Linux 的配置文件为 my.cnf ,一般在 /etc 下。 

windows下

# 在[mysqld] 中输入  

#log  

log-error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log"  

log="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log"  

long_query_time=2  

log-slow-queries= "E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"

Linux下

# 在[mysqld] 中输入  

#log  

log-error=/usr/local/mysql/log/error.log  

log=/usr/local/mysql/log/mysql.log  

long_query_time=2  

log-slow-queries= /usr/local/mysql/log/slowquery.log

你应该说的MySQL的binlog(二进制日志)吧,她记录的内容是:任何引起或可能引起数据库变化的 *** 作 。

查询方式 :

#查询某一段时间内的日志 start-datetime(开始时间)stop-datetime(结束时间) #mysql-bin.000001日志名称

mysqlbinlog mysql-bin.000001 \

--start-datetime="2015-10-05 17:34:40" \

--stop-datetime="2015-10-05 17:34:56" >sixteensecs.sql

#查看指定位置的日志 ,start-position(开始位置) stop-position(结束位置)

mysqlbinlog --read-from-remote-server -uuser -p \

mysql-bin.000001 -h 192.168.0.182 -P 3306 \

--start-position=932 --stop-position=1132 >remote000001.sql

打开日志内容,可以看到之前 *** 作的SQL脚本(语句:增加,修改,删除)

或者 开启 general_log 日志,打印所有 *** 作SQL脚本(语句),比较消耗性能,线上环境不建议开启,只是线上有问题时临时打开测试,测试完成后再关闭 。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8551880.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存