mysql日志初探
mysql里最常用的日志有4种,分别是:错误日志,二进制日志,查询日志以及满查询日志. 1.错误日志会记录当mysql启动和关闭以及运行中的错误信息,可以使用 --log-error[=file_name]来指定错误日志存放文件.当mysql server异常的时候应该首先查看该日志.其实里面也没什么,我英语四级没过,配上词霸目前为止还没有碰到解决不了的问题,呵呵.默认是存放在datadir里的主机名.err. 2.二进制日志存放了所有的ddl和dml操作记录 --log-bin[=file_name]选项启动时,mysqld写入包含所有更新数据的SQL命令的日志文件。如果未给出file_name值, 默认名为-bin后面所跟的主机名。二进制日志并不可以直接查看,需要客户端工具mysqlbinlog log-file 查看 mysqld在每个二进制日志名后面添加一个数字扩展名。每次你启动服务器或刷新日志时该数字则增加。如果当前的日志大小达到max_binlog_size,还会自动创建新的二进制日志。如果你正使用大的事务,二进制日志还会超过max_binlog_size:事务全写入一个二进制日志中,绝对不要写入不同的二进制日志中。 为了能够知道还使用了哪个不同的二进制日志文件,mysqld还创建一个二进制日志索引文件,包含所有使用的二进制日志文件的文件名。默认情况下与二进制日志文件的文件名相同,扩展名为'.index'。你可以用--log-bin-index[=file_name]选项更改二进制日志索引文件的文件名。当mysqld在运行时,不应手动编辑该文件;如果这样做将会使mysqld变得混乱。 可以用以下语句删除二进制日志 reset master;#删除所有二进制日志 purge master logs to 'mysql-bin.******';#删除******编号之前的二进制日志 purge master logs before 'yyyy-mm-dd hh24:mm:ss'#删除指定日期之前的日志 还可以设置--expire_logs_days=*;#设置日志过期天数,过期自动删除. --binlog-do-db=db_name#指定数据库开启二进制日志,类似的有ignore. innodb有 --innodb-safe-binlog以及--sync-binlog=n(每写n次日志同步磁盘) 可以通过set sql_log_bin=0禁用二进制日志. 3.查询日志,记录所有查询语句,二进制日志不记录之查询的语句 --log[=file_name]可以启动查询日志,默认是在datadir里的主机名.log,由于会消耗大量磁盘io资源,一般情况下建议禁用. 4.慢查询日志 --log-slow-queries[=file_name]默认是在datadir下的主机名.slow.log --log-short-format#忽略掉不使用索引的慢查询 --log-slow-admin-statements#将记录慢管理语句 set long_query_time=n;#
相关文档:
建立条件首先一定要确定自己的mysql,tomcat,eclipse连接是正确的。
index.jsp很简单,就一个跳转。
<%
response.sendRedirect("lg.jsp");
%>
lg.jsp 实现登录框架
<%@ page contentType="text/html; charset=utf-8" %>
<html>
<head>
<title>
login
</title>
</hea ......
1、如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表。
如果执行大量的SELECT,MyISAM是更好的选择。
2、我需要使用事务处理,但是原来的数据表使用的是myisam,就需要改为bdb或者innodb,这样基于myisam的程序,将类型改为innodb后,原来的程序是不需 ......
我们的项目中有好多不等于的情况。今天写这篇文章简单的分析一下怎么个优化法。
这里的分表逻辑是根据t_group表的user_name组的个数来分的。
因为这种情况单独user_name字段上的索引就属于烂索引。起不了啥名明显的效果。
1、试验PROCEDURE.
DELIMITER $$
DROP PROCEDURE `t_girl`.`sp_split_table`$$
CREATE PROCE ......
MYSQL 修改root密码命令
cmd下切换到 mysql 安装目录
例
d:/mysql/bin
前提:mysql用户root密码为空.
输入 mysql -u root mysql
mysql> 状态下输入 update user set password=password('新密码') where user='root';
回显
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
......
Error Code : 1418
This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
(0 ms taken)
分析:
根据系统提示,导致该错误的原因可能是一个安全设置方面 ......