mysql数据库中关于记录存在,mysql数据库中关于记录存在的问题

本文目录一览:

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

一.错误日志

错误日志在Mysql数据库中很重要,它记录着mysqld启动和停止,以及服务器在运行过程中发生的任何错误的相关信息。

1.配置信息

–log-error=[file-name]用来指定错误日志存放的位置。

如果没有指定[file-name],默认hostname.err做为文件名,默认存放在DATADIR目录中。

也可以将log-error配置到my.cnf文件中,这样就省去了每次在启动mysqld时都手工指定–log-error.例如:

[mysql@test2]$ vi /etc/my.cnf

# The MySQL server

[mysqld]

….

log-error = /var/lib/mysql/test2_mysqld.err

…..

2.错误信息样板

080313 05:21:55 mysqld started

080313 5:21:55 InnoDB: Started; log sequence number 0 43655

080313 5:21:55 [Note] /usr/local/mysql/bin/mysqld: ready for connections.

Version: ‘5.0.26-standard-log’ socket: ‘/var/lib/mysql/mysql.sock’ port: 3306 MySQL Community Edition – Standard (GPL)

080313 5:24:13 [Note] /usr/local/mysql/bin/mysqld: Normal shutdown

080313 5:24:13 InnoDB: Starting shutdown…

080313 5:24:16 InnoDB: Shutdown completed; log sequence number 0 43655

080313 5:24:16 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete

080313 05:24:16 mysqld ended

080313 05:24:47 mysqld started

080313 5:24:47 InnoDB: Started; log sequence number 0 43655

080313 5:24:47 [Note] /usr/local/mysql/bin/mysqld: ready for connections.

Version: ‘5.0.26-standard-log’ socket: ‘/var/lib/mysql/mysql.sock’ port: 3306 MySQL Community Edition – Standard (GPL)

080313 5:33:49 [Note] /usr/local/mysql/bin/mysqld: Normal shutdown

三.查询日志

查询日志记录了clinet的所有的语句。

Note:由于log日志记录了数据库所有操作,对于访问频繁的系统,此种日志会造成性能影响,建议关闭。

1.配置信息

–log=[file-name]用来指定错误日志存放的位置。

如果没有指定[file-name],默认为主机名(hostname)做为文件名,默认存放在DATADIR目录中。

也可以将log配置到my.cnf文件中,这样就省去了每次在启动mysqld时都手工指定–log.例如:

# The MySQL server

[mysqld]

……

#query-log

log = /var/lib/mysql/query_log.log

……

2.读取查询日志

查询日志是纯文本格可,可以使用OS文本读取工具直接打开查看。例如:

[mysql@test2]$ tail -n 15 query_log.log

080313 7:58:28 17 Query show tables

080313 8:07:45 17 Quit

080313 10:01:48 18 Connect root@localhost on

080313 10:02:38 18 Query SELECT DATABASE()

18 Init DB test

080313 10:02:42 18 Query show tables

080313 10:03:07 18 Query select * from pet

080313 10:06:26 18 Query insert into pet values(‘hunter’,’yxyup’,’cat’,’f’,’1996-04-29′,null)

080313 10:06:39 18 Query select * from pet

080313 10:07:13 18 Query update pet set sex=’m’ where name=’hunter’

080313 10:07:38 18 Query delete from pet where name=’hunter’

080313 10:13:48 18 Query desc test8

080313 10:14:13 18 Query create table t1(id int,name char(10))

080313 10:14:41 18 Query alter table t1 add sex char(2)

[mysql@test2]$

四.慢查询日志

慢查询日志是记录了执行时间超过参数long_query_time(单位是秒)所设定值的SQL语句日志。

Note:慢查询日志对于我们发现性能有问题的SQL有很帮助,建议使用并经常分析

1.配置信息

–log-slow-queries=[file-name]用来指定错误日志存放的位置。

如果没有指定[file-name],默认为hostname-slow.log做为文件名,默认存放在DATADIR目录中。

也可以将log-slow-queries配置到my.cnf文件中,这样就省去了每次在启动mysqld时都手工指定–log-slow-queries.例如:

# The MySQL server

[mysqld]

……

#slow-query-log

log-slow-queries = /var/lib/mysql/slow_query_log.log

……

2.读取慢查询日志

[mysql@test2]$ cat slow_query_log.log

/usr/local/mysql/bin/mysqld, Version: 5.0.26-standard-log. started with:

Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sock

Time Id Command Argument

# Time: 080313 5:41:46

# User@Host: root[root] @ localhost []

# Query_time: 108 Lock_time: 0 Rows_sent: 0 Rows_examined: 8738

use test;

select count(1) from t1 a, t1 b,t1 c where a.id=b.id and b.name=c.name;

# Time: 080313 5:52:04

# User@Host: root[root] @ localhost []

# Query_time: 583 Lock_time: 0 Rows_sent: 0 Rows_examined: 508521177

select count(1) from t1 a, t1 b where a.id=b.id;

/usr/local/mysql/bin/mysqld, Version: 5.0.26-standard-log. started with:

Tcp port: 3306 Unix socket: /var/lib/mysql/mysql.sock

Time Id Command Argument

# Time: 080313 10:39:59

# User@Host: root[root] @ localhost []

# Query_time: 11 Lock_time: 0 Rows_sent: 4537467 Rows_examined: 4537467

use test;

select id from tail;

如果慢查询日志记录很多可以使用mysqldumpslow进行分类汇总

[mysql@test2]$ mysqldumpslow slow_query_log.log

Reading mysql slow query log from slow_query_log.log

Count: 1 Time=583.00s (583s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost

select count(N) from t1 a, t1 b where a.id=b.id

Count: 1 Time=108.00s (108s) Lock=0.00s (0s) Rows=0.0 (0), root[root]@localhost

select count(N) from t1 a, t1 b,t1 c where a.id=b.id and b.name=c.name

Count: 1 Time=11.00s (11s) Lock=0.00s (0s) Rows=4537467.0 (4537467), root[root]@localhost

select id from tail;

mysql有以下几种日志:

错误日志: -log-err

查询日志: -log

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

更新日志: -log-update

二进制日志: -log-bin

在mysql的安装目录下,打开my.ini,在后面加上上面的参数,保存后重启mysql服务就行了。

例如:

#Enter a name for the binary log. Otherwise a default name will be used.

#log-bin=

#Enter a name for the query log file. Otherwise a default name will be used.

#log=

#Enter a name for the error log file. Otherwise a default name will be used.

log-error=

#Enter a name for the update log file. Otherwise a default name will be used.

#log-update=

查看日至:

1. 首先确认你日志是否启用了

mysqlshow variables like ‘log_bin’;

如果启用了,即ON

那日志文件就在mysql的安装目录的data目录下

cat/tail 日志文件名

2. 怎样知道当前的日志

mysql show master status;

3. 查看从某一段时间到某一段时间的日志

mysqlbinlog –start-datetime=’2008-01-19 00:00:00′

–stop-datetime=’2008-01-30 00:00:00′ /var/log/mysql/mysql-bin.000006

mysqllog1.log

java要给mysql 数据库中的一张表增加一条记录,如何通过主键来检验这条记录在表中是否已存在。

mysql可以操作 存在该记录则更新,不存在则插入记录的sql

INSERT table (auto_id, auto_name) values (1, ‘yourname’) ON DUPLICATE KEY UPDATE auto_name=’yourname’

可以查一下ON DUPLICATE KEY UPDATE的使用

你也可以通过查询关键字的记录数,为1的时候,就表示存在,0 的时候不存在,插入记录。

请问mysql数据库中的信息存在那个文件下了?

你好,我的是电脑是xp环境,在C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\data这个目录下

用php如何查询mysql数据库里是否存在这个记录

哎,比如说

select tab_id from tabname where tab_user=’且听风吟福利吧’

如果查询出来tab_id有数据就说明存在

又或

select count(tab_id) from tabname where tab_user=’且听风吟福利吧’

如果查询出来0就说明存在

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/199259.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-04 19:15
下一篇 2024-12-04 19:15

相关推荐

  • Python官网中文版:解决你的编程问题

    Python是一种高级编程语言,它可以用于Web开发、科学计算、人工智能等领域。Python官网中文版提供了全面的资源和教程,可以帮助你入门学习和进一步提高编程技能。 一、Pyth…

    编程 2025-04-29
  • 如何修改mysql的端口号

    本文将介绍如何修改mysql的端口号,方便开发者根据实际需求配置对应端口号。 一、为什么需要修改mysql端口号 默认情况下,mysql使用的端口号是3306。在某些情况下,我们需…

    编程 2025-04-29
  • 如何解决WPS保存提示会导致宏不可用的问题

    如果您使用过WPS,可能会碰到在保存的时候提示“文件中含有宏,保存将导致宏不可用”的问题。这个问题是因为WPS在默认情况下不允许保存带有宏的文件,为了解决这个问题,本篇文章将从多个…

    编程 2025-04-29
  • Java Thread.start() 执行几次的相关问题

    Java多线程编程作为Java开发中的重要内容,自然会有很多相关问题。在本篇文章中,我们将以Java Thread.start() 执行几次为中心,为您介绍这方面的问题及其解决方案…

    编程 2025-04-29
  • Python操作MySQL

    本文将从以下几个方面对Python操作MySQL进行详细阐述: 一、连接MySQL数据库 在使用Python操作MySQL之前,我们需要先连接MySQL数据库。在Python中,我…

    编程 2025-04-29
  • Python爬虫乱码问题

    在网络爬虫中,经常会遇到中文乱码问题。虽然Python自带了编码转换功能,但有时候会出现一些比较奇怪的情况。本文章将从多个方面对Python爬虫乱码问题进行详细的阐述,并给出对应的…

    编程 2025-04-29
  • NodeJS 建立TCP连接出现粘包问题

    在TCP/IP协议中,由于TCP是面向字节流的协议,发送方把需要传输的数据流按照MSS(Maximum Segment Size,最大报文段长度)来分割成若干个TCP分节,在接收端…

    编程 2025-04-29
  • 如何解决vuejs应用在nginx非根目录下部署时访问404的问题

    当我们使用Vue.js开发应用时,我们会发现将应用部署在nginx的非根目录下时,访问该应用时会出现404错误。这是因为Vue在刷新页面或者直接访问非根目录的路由时,会认为服务器上…

    编程 2025-04-29
  • MySQL递归函数的用法

    本文将从多个方面对MySQL递归函数的用法做详细的阐述,包括函数的定义、使用方法、示例及注意事项。 一、递归函数的定义 递归函数是指在函数内部调用自身的函数。MySQL提供了CRE…

    编程 2025-04-29
  • 如何解决egalaxtouch设备未找到的问题

    egalaxtouch设备未找到问题通常出现在Windows或Linux操作系统上。如果你遇到了这个问题,不要慌张,下面我们从多个方面进行详细阐述解决方案。 一、检查硬件连接 首先…

    编程 2025-04-29

发表回复

登录后才能评论