今天遇到mysql启动问题,本来是由于java插入数据库乱码问题,修改过程中又遇到启动问题1067状态。索性一次将解决写出来分享,以免后来人走弯路。
我非常郁闷的就是国内这些百度啊,贴吧啊,各种转载,不负责任的写东西,写得还不对,误人子弟。建议大家去stack overflow网站去。
先说乱码问题吧,如果正常安装mysql,没有做任何修改,只是默认按照流程来安装。那么在java链接数据库的时候,绝对就出现中文问题。那么解决办法非常简单,不用什么用java转码getByte之类的称之为万能方法的,根本不顶用还不实用,项目中谁有时间时不时的去转码,真是脑子烧坏了。
直接停止mysql服务,用命令行停止:ctrl + R ,输入cmd命令,输入net stop mysql。停止命令。或者ctrl + R 直接输入services.msc,找到mysql,鼠标右键停止服务。
停止服务后,去mysql安装目录下,修改一下my.ini这个配置文件。建议新手改什么东西之前,有一个备份的好习惯,把要改的文件事先备份,至少可以还原。
在my.ini文件里面添加:
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
default-character-set=utf8
因为这么写的话,就会出现1067无法识别default-character-set=utf8。
必须改成
[mysqld]
character-set-server=utf8
然后重启mysql就可以了。可以用ctrl + R---->cmd ---->net start mysql.或者又进入那个服务,鼠标右键启动mysql服务。
现在问题解决了,但是最重要的是要学会怎么解决问题。
mysql解决问题,最重要的莫过于它的错误日志,在安装目录data下有个.err后缀名文件。请时刻关注。