还是之前的问题,服务器mysql启动不了,前面一篇博客(用ibd文件恢复mysql数据库数据)已经在不启动数据库的情况下恢复了数据。
恢复之后,需要重装mysql,本来想借助mysql installer修复或者卸载,都失败了。
问题如何解决?还是从err文件入手
查看.err文件:
[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
发现在data文件夹的mysql数据库没有user表
我的data路径 C:\ProgramData\MySQL\MySQL Server 5.7\data\mysql
其实mysql数据库是有初始备份的,
在安装路径下面 C:\Program Files\MySQL\MySQL Server 5.7\data
如果找不到这两个路径,在my.ini里面有
从basedir 下找到mysql文件夹下data中user表的文件复制过去
复制到缺失的datadir下对应的位置(下图是粘贴后的截图)
再启动服务,就ok了!!!!
注意的是,这个时候是初始状态,用户名root ,密码为空,进入数据库后修改root密码
然后,把安装navicat 的坑也记录一下吧
安装程序时提示ShellExecuteEx失败,错误代码1115
百度了说是权限问题,两种解决方案:
一、右键点安装程序,从弹出菜单中选择以管理员身份运行。顺利安装。
二、在应用程序上右键-属性-兼容性-以兼容模式运行这个程序-下面选择windows XP(service pack 3)-确定,完成,成功。
用第二种方案亲测成功
到这里,,数据库已经完全恢复,其实都用不着前一篇博文里面的恢复方法,只要数据库启动了就能备份数据文件。
参考: