mysql开启日志功能

今天要调试个程序,需要开启mysql日志功能搞了好一会没成功。最后在网上找到资料搞定,这样做个记录。

 

首先在windows上弄,找到my.ini,按照网上的说法,在配置文件底部加入

 

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. log="C:/temp/mysql.log"  
  2. log_slow_queries="C:/temp/mysql_slow.log"  
  3. long_query_time=1  


弄完后,便打开cmd,重启下,这时报了好几个错

 

 

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. C:\D\lamp\mysql\bin>mysqld.exe restart  
  2. 131218 15:09:25 [Warning] The syntax '--log' is deprecated and will be removed i  
  3. n a future release. Please use '--general-log'/'--general-log-file' instead.  
  4. 131218 15:09:25 [Warning] The syntax '--log-slow-queries' is deprecated and will  
  5.  be removed in a future release. Please use '--slow-query-log'/'--slow-query-log  
  6. -file' instead.  


在网上查了下,原来是mysql版本问题,我的版本是5.5.20,上面的是mysql5.5.8配置的方法,于是换了下写法

 

 

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. log-error="C:/D/lamp/log/error.log"  
  2. general-log=1  
  3. general-log-file="C:/D/lamp/log/mysql.log"  
  4. long_query_time=3  
  5. slow_query_log=1  
  6. slow-query-log_file="C:/D/lamp/log/slowquery.log"  


重启搞定。

 

在linux环境下,更好配置,打开my.cnf文件(一般位于/etc目录下),在底部加上

 

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. log-error=/var/log/mysqld.log  
  2. log_slow_queries=/var/log/slowquery.log  
  3. long_query_time=3  


重启mysql,service mysql restart。

 

 

这里再说说,在windows环境下,重启mysql遇到的问题。

 

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. C:\Users\molaifeng>net start mysql  
  2. 发生系统错误 5。  
  3.   
  4. 拒绝访问。  


从网上查询得知,是权限不够,使用管理员权限运行即可,于是去C:/Windows/System32,找到cmd.exe,以管理员的身份运行,运行后,又报了个错误

 

 

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. C:\windows\system32>net start mysql  
  2. MySQL 服务正在启动 ...  
  3. MySQL 服务无法启动。  
  4.   
  5. 系统出错。  
  6.   
  7. 发生系统错误 1067。  
  8.   
  9. 进程意外终止。  


还是得依靠万能的互联网,得知是配置文件出错,把配置文件中出错的的配置去掉,就好了。

 

同时,第一次错误的配置时,重启了下电脑,后来发现mysql进不去了,说是密码错误,于是便把命令行上如何在忘记密码的情况下重新设置密码给记录下。

首先,打开一个cmd窗口,输入

 

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables  


其次,再开一个cmd窗口,输入

 

 

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. mysql -u root -p  


回车,紧接便是要输入密码,记住这次就不需要输入密码了,因为第一个cmd窗口里的命令便是跳过mysql的权限安全检查,因此直接回车,再依次输入以下命令

 

 

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. use mysql;  
  2. UPDATE user SET Password=PASSWORD('newpassword') where USER='root';#注意,那个newpassword便是新密码,可以设置  
  3. FLUSH PRIVILEGES;  

 

退出后,再重新连入mysql就ok了。

posted @ 2014-12-02 16:04  injectionbak  阅读(4451)  评论(0编辑  收藏  举报