记录一下解决mysql出现的问题
昨天打开的时候还好好的,今天再打开就显示:无法启动mysql服务(位于本地计算机上)错误1067 windows,然后我打开D:\ProgramData\MySQL\MySQL Server 5.5\data下面后缀为.err 的文件,观察报错原因,下滑到最后发现这样一句话:[ERROR] Fatal error: Can’t open and lock privilege tables: Table ‘mysql.host’ doesn’,这时候去D:\ProgramData\MySQL\MySQL Server 5.5\data\mysql下面看到没有文件,如果没有,就把D:\Program Files\MySQL\MySQL Server 5.5\data\mysql里面的东西复制粘贴到D:\ProgramData\MySQL\MySQL Server 5.5\data\mysql,然后重启服务就OK了。
受启发的文章是:https://www.itdaan.com/blog/2010/05/07/a3ab76322390c6e6956933b75c16aa6d.html
解决完了之后打开navicat for mysql发现提示Access denied for user’root’@‘localhost’ (using password: Yes)
解决方案:
1、修改D:\ProgramData\MySQL\MySQL Server 5.5\my.ini,在[mysqld]这个条目下加入 skip-grant-tables 保存退出后重启mysql,
2、在开始菜单找到mysql下面MySQL 5.5 Command Line Client,他会有enter password,你直接敲回车,因为上面那句话默认不需要密码,下面的操作是把密码设置回来
3、mysql> use mysql;
Database changed
4、给root用户设置新密码:
mysql> update user set password=password(“新密码”) where user=“root”;
Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
5、刷新数据库
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
6、退出mysql:
mysql> quit;
7、改好之后,再修改一下my.ini这个文件,把我们刚才加入的 "skip-grant-tables"这行删除,保存退出再重启mysql就可以了。
参照来源:https://blog.csdn.net/u012730299/article/details/51840416/