今天要调试个程序,需要开启mysql日志功能搞了好一会没成功。最后在网上找到资料搞定,这样做个记录。
首先在windows上弄,找到my.ini,按照网上的说法,在配置文件底部加入
- log="C:/temp/mysql.log"
- log_slow_queries="C:/temp/mysql_slow.log"
- long_query_time=1
弄完后,便打开cmd,重启下,这时报了好几个错
- C:Dlampmysqlin>mysqld.exe restart
- 131218 15:09:25 [Warning] The syntax '--log' is deprecated and will be removed i
- n a future release. Please use '--general-log'/'--general-log-file' instead.
- 131218 15:09:25 [Warning] The syntax '--log-slow-queries' is deprecated and will
- be removed in a future release. Please use '--slow-query-log'/'--slow-query-log
- -file' instead.
在网上查了下,原来是mysql版本问题,我的版本是5.5.20,上面的是mysql5.5.8配置的方法,于是换了下写法
- log-error="C:/D/lamp/log/error.log"
- general-log=1
- general-log-file="C:/D/lamp/log/mysql.log"
- long_query_time=3
- slow_query_log=1
- slow-query-log_file="C:/D/lamp/log/slowquery.log"
重启搞定。
在linux环境下,更好配置,打开my.cnf文件(一般位于/etc目录下),在底部加上
- log-error=/var/log/mysqld.log
- log_slow_queries=/var/log/slowquery.log
- long_query_time=3
重启mysql,service mysql restart。
这里再说说,在windows环境下,重启mysql遇到的问题。
- C:Usersmolaifeng>net start mysql
- 发生系统错误 5。
- 拒绝访问。
从网上查询得知,是权限不够,使用管理员权限运行即可,于是去C:/Windows/System32,找到cmd.exe,以管理员的身份运行,运行后,又报了个错误
- C:windowssystem32>net start mysql
- MySQL 服务正在启动 ...
- MySQL 服务无法启动。
- 系统出错。
- 发生系统错误 1067。
- 进程意外终止。
还是得依靠万能的互联网,得知是配置文件出错,把配置文件中出错的的配置去掉,就好了。
同时,第一次错误的配置时,重启了下电脑,后来发现mysql进不去了,说是密码错误,于是便把命令行上如何在忘记密码的情况下重新设置密码给记录下。
首先,打开一个cmd窗口,输入
- mysqld --defaults-file="C:Program FilesMySQLMySQL Server 5.1my.ini" --console --skip-grant-tables
其次,再开一个cmd窗口,输入
- mysql -u root -p
回车,紧接便是要输入密码,记住这次就不需要输入密码了,因为第一个cmd窗口里的命令便是跳过mysql的权限安全检查,因此直接回车,再依次输入以下命令
- use mysql;
- UPDATE user SET Password=PASSWORD('newpassword') where USER='root';#注意,那个newpassword便是新密码,可以设置
- FLUSH PRIVILEGES;
退出后,再重新连入mysql就ok了。