终极解决 mysql8.0 ERROR 1045 (28000): Access denied for user ‘ODBC‘@‘localhost‘ (using password: NO) |
您所在的位置:网站首页 › 幼教教资体检项目是什么内容啊 › 终极解决 mysql8.0 ERROR 1045 (28000): Access denied for user ‘ODBC‘@‘localhost‘ (using password: NO) |
当你在Windows系统中,以命令行方式,输入 mysql 后,提示 错误: ERROR 1045 (28000): Access denied for user ‘ODBC’@‘localhost’ (using password: NO) 接下来,说明一下, ERROR 1045 (28000): Access denied for user ‘ODBC’@‘localhost’ (using password: NO) 问题的原理, 这里,先将报错信息,逐字解释一下,如果不感兴趣,请跳过,往下看。 ERROR 1045 (28000): 给出的是,错误和它的代码,这个不重要, Access denied for user: 访问,拒绝了,用户, 这里的关键字,是 user,用户, 也就是说,这个错误提示信息,说明了,为什么出现这个错误,的,根本原因,是,使用了错误的用户尝试登录MySQL, (using password: NO): 这个也没用,不用看,意思是: (使用密码了吗:并没有) ‘ODBC’@‘localhost’ : 就是这个 ODBC 用户, 也就是说,当你不指定登录用户时,Windows 在连接 MySQL 数据库的时候,就会使用这个 ODBC 用户去连接 MySQL 数据库,不管你的 MySQL 数据库中是否存在这个 ODBC 用户,Windows系统,都会使用这个 ODBC 用户去 尝试连 MySQL 数据库,个人感觉,应该是,Windows 系统对 ODBC 比较熟吧,毕竟 在 Windows中 有好多 ODBC 相关的接口 (开放数据库连接(Open Database Connectivity,ODBC)) 所以,如果你不想使用 mysql -uroot -proot 这种加了两个参数(-u、 -p)方式登录 MySQL 数据库,就是想,直接 敲命令 mysql 就能进入 MySQL 控制台的话,你就需要告诉,MySQL,你不想使用 Windows 系统为你选的 ODBC 用户去连 MySQL,你想使用一个你熟悉的用户登录 MySQL,并且,在登录的时候,不想输入过多的 参数,只用一个 mysql 命令 ,就可以登录到 MySQL 控制台中, 那么,如何告诉 MySQL 呢? 就需要知道,MySQL 的,运行机理, 在 Windows 环境中,MySQL 的启动是去调用 你安装到 Windows 系统中的 mysql 服务的, 这个服务的位置在,控制面板\所有控制面板项\Windows 工具\服务(我的终端是 Windows home版) 如果,你找不到,服务,就百度一下吧,
很奇怪,我在 MySQL 官网上下载的这版 MySQL ,在它的安装目录中,没有 my.ini 文件, 所以,通过,全盘搜索,在一个目录下,找到了这个 my.ini 文件, C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
编辑了 My.ini 文件,但是,没有作用,不是因为我们的理论错误,而是,这个 my.ini 文件的位置不对, 再看一眼 ,mysql 服务的,启动路径, 而这个应用程序 mysqld.exe 就会在它所在的 MySQL 安装路径中 寻找 它需要的 my.ini 文件, 即: C:\Program Files\MySQL\MySQL Server 8.0\ 而我们找到 My.ini 文件 所在 的目录是: C:\ProgramData\MySQL\MySQL Server 8.0 显然,我们的现在要做的是,将编辑好的 my.ini 文件,搬运到 mysqld.exe 应用程序所在的 安装路径中,但请注意不是和 mysqld.exe 应用程序 同级的目录下面,而是 mysqld.exe 应用程序的父级目录 bin 的上一级目录中, 也就是,C:\Program Files\MySQL\MySQL Server 8.0\
问题,解决, 也不用,停止、启动 MySQL 服务, (net stop mysql、net start mysql) 也不用 在 my.ini 中的 [mysqld]里,skip-grant-tables 按我的方法,就能解决问题,爽不爽! 这里,补充一下,编辑 my.ini 文件需要更改的地方和内容, 打开 my.ini 文件 ,找到 [mysql] (请注意,不是 mysqld,而是 mysql )
其实,这个问题困扰我有些日子了,大半年了,期间找了不少网络的帖子,都是复制粘贴类型的,不解决根本问题,就是在刚刚,在 bing 上按 错误提示搜索了一下,看到一位大神的解释,恍然大悟,对,MySQL 的启动过程 有了新的了解和认识,于是立刻做了个实验,很顺利直接就成功了,马上来和大家分享一下,希望能帮到大家,少走弯路,当初确实挺烦恼的,都要砸电脑了,谢谢网络上这些大神文章的指点,保护了我的办公终端。 把我看到那篇决定性的文章粘出来,与大家共飨,
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |