MySQL部署时提示Table mysql.plugin doesn’t exist的解决方法
今天部署了免安装版的MySQL,出现了Table ‘mysql.plugin’ doesn’t exist的问题,苦恼了好久,终于在网上找到了解决方案,现整理一下给大家分享:
**系统环境:**Win10 64位
**MySQL版本:**mysql-5.7.17-winX64
部署的步骤就是按照网上说的:
1:修改环境变量path,增加值C:Program Filesmysql-5.7.17-winX64in
2:修改my-default.ini,重命名为my.ini,修改文件内容:
# basedir = C:Program Filesmysql-5.7.17-winX64
# datadir = C:Program Filesmysql-5.7.17-winX64data
在主目录“C:Program Filesmysql-5.7.17-winX64”下创建空的data文件夹;
3:管理员运行cmd,输入:mysqld -install,显示安装成功;再输入:net start mysql,提示启动服务失败,
此时:到data文件夹下看到5个文件,打开后缀为.err的文件,里面提示:Table ‘mysql.plugin’ doesn’t exist
针对这个问题的解决方案是:
1.把my.ini复制到in文件夹下;
2.在cmd到in目录,然后输入mysqld --initialize --user=mysql --console 执行此命令, 生成库. 注意有个临时密码, 要记下来;
3.启动服务net start mysql;
4.进入mysql命令下:mysql -uroot -p,输入刚刚的密码;
5.再输入set password = password(‘root’) 修改root的登录密码;
我按照此操作成功了,希望对各位能有帮助。
启动MySQL5.7服务无法启动或Table ‘mysql.plugin’ doesn’t exist
首先说一下我这个是mysql5.7.16免安装版,不过这个问题对于5.7版本应该都适用。
问题重现:
安装过程也说一下吧:
1.将下载的压缩文件解压到指定目录,
**我的是:**E:programmysql-5.7.16-winx64
2.配置PATH环境变量,在最后追加bin路径:
;E:programmysql-5.7.16-winx64in
3.CD到bin目录执行mysqld去安装window服务:
E:programmysql-5.7.16-winx64in>mysqld --install mysql5.7
4.启动服务:
E:programmysql-5.7.16-winx64in>net start mysql5.7
mysql-5.7 服务正在启动 .
mysql-5.7 服务无法启动。
服务没有报告任何错误。
请键入 NET HELPMSG 3534 以获得更多的帮助。
原因:
mysql在启动服务时会去找一些系统表,例如:
mysql5.7: Table ‘mysql.plugin’ doesn’t exist
这个就是启动时候日志的报错(如果你已经创建了data文件夹,在data文件夹的用户.err文件,例如我的就是:Dylan.err)。其实我们在创建服务后缺少了一步,就是初始化mysql。
解决方案:
1.在安装目录创建data文件夹(如果已有,请删除里面所有文件),用于存放mysql初始化数据文件。
2.执行初始化mysql,
E:programmysql-5.7.16-winx64in>mysqld --initialize
完毕后会看到data文件夹下面生成了一堆文件:
3.再次启动服务:
这是一个坑!!!