问题描述:

不小心remove了mysql56的服务之后,使用mysqld install mysql56安装了,但是,却提示了

ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: YES)

解决方案:

如何解决这一问题呢?

1.首先,follow了网上的方法,在my.ini中添加了一行skip-grant-tables,重启后,重新设置了密码,但是却无法登录。

2.此时,在mysql的bin目录下,运行mysqld  --skip-grant-tables,然后,可以跳过password进入到mysql命令行,这时候重新设置密码,重启后生效。

但是!!! 此时,之前data文件夹下的数据库,找不到了。

 3.此时,使用show variables like 'datadir';查看目前data目录在哪个位置。

 4.这与之前的data文件夹不是一个位置,之前的位置默认为 

C:\ProgramData\MySQL\MySQL Server 5.6\data\

也就是说,重新把服务安装回来之后,data的目录改变了,与之前默认的不一样了,那是不是把data目录修改成之前的,就可以了呢

5.进入到当前data目录后,发现当前data目录下有一个mydefault.ini,打开文件,把data_dir的路径修改成原来的路径,把mydefault.ini重命名为my.ini,此时服务remove前的data数据库又回来了。

6.到此,问题解决了。

其中参考到了链接:mysql中skip-grant-tables无效 - 韶华倾负! - 博客园

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐