Mysql 1067问题:
背景:
本人需要将mysql从5.5升级到5.6版本,在控制面板(cmd命令control的程序和功能里)卸载了mysql。
之后去mysql官网下载了5.6版本的压缩包
https://dev.mysql.com/downloads/mysql/5.6.html,解压到我自己的E:/Mysql/目录下,并自己创建一个My.ini文件将以下代码写入。
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir="E:/MySQL/mysql-5.6.46-winx64/"
#Path to the database root
datadir="E:/MySQL/mysql-5.6.46-winx64/Data/"
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
其中关键点是basedir和datadir,因为第一个是你mysql的文件在哪里,第二个是打开的时候默认的user信息。
我以管理员权限启动cmd并在E:/MySQL/mysql-5.6.46-winx64/bin/目录下执行mysqld -install,服务就安装成功了。
接下来启动服务,通过net start mysql启动服务,弹出错误1067.
我在网上找了很多的错误可能,发现1067出现的关键是安装过程没有问题,启动出了问题,也就是初始user表没有找到(一开始我的datadir写错了,写了以前版本的datadir路径),因此在我修改了datadir路径后,服务可以启动了。