首先利用以下命令守株待兔 # tail -f /usr/local/mysql/log/mysql.log 然后在loganalyzer向导step6输入web后台账号密码后,点击next 查看到mysql.log日志里出现了一条insert语句 然后将该语句复制到后台手动执行,看报什么错误 # mysql -uroot -p123456; ins
首先利用以下命令守株待兔
# tail -f /usr/local/mysql/log/mysql.log
然后在loganalyzer向导step6输入web后台账号密码后,点击next
查看到mysql.log日志里出现了一条insert语句
然后将该语句复制到后台手动执行,看报什么错误
# mysql -uroot -p123456;
> insert into logcon_users (username, password, is_admin) values (‘admin’, ’00a1f187721cxxxxxxx6bf791e69382c’, 1);
error 1364 (hy000): field ‘last_login’ doesn’t have a default value
提示’last_login’栏不能为空值
ok,直接登录navicat,将这栏设置为允许空值保存即可
从新执行这条语句
> insert into logcon_users (username, password, is_admin) values (‘admin’, ’00a1f187721cxxxxxxx6bf791e69382c’, 1);
query ok, 1 row affected (0.06 sec)
显示执行成功
利用navicat 查看后台该表,显示成功插入一条记录
重新利用该账号即可成功登录loganalyzer web后台
看来是mysql在执行该语句时,发现last_login栏默认为非空,所以拒绝这条insert语句执行,解决办法就是将该栏设置为允许空值即可
博主在线上老版本mysql-5.0.56无需进行上述手动操作,即可成功登录后台
原文地址:mysql 排错方法, 感谢原作者分享。