mysql错误代码1045不能登录的原因与解决方法

mysql错误代码1045不能登录的原因与解决方法,第1张

错误如下:1045 Access denied for user 'root'@'localhost' (using password:YES)

想起来有可是在navicat添加的root@'%'用户,可能密码和现在新版本5.7的加密不同了,导致密码不对.

所以解决方法是更新用户密码.

注意5.7版本密码保存的列是 authentication_string ,密码要用函数password加密.

更新密码的SQL是 update user set authentication_string=password('密码') where user="root"

下面是Windows平台下 *** 作步骤:

配置文件my.ini ,在mysqld下面添加skip-grant-tables,意思是可以直接回车登录,保存退出。重启mySQL,然后运行cmd

输入mysql -u root -p就可以不用密码登录了,出现password:的时候直接回车可以进入。

1.切换到mysql数据库:use mysql

2.给root用户设置新密码,

mysql>update user set authentication_string=password('密码') where user="root"

3.刷新数据库mysql>flush privileges

4.再修改my.ini,把刚加入的"skip-grant-tables"这行删除或者添加#注释,保存退出再重启mysql服务就可以了。

一些参考命令

#删除之前配置 drop user 'root' @ '%'

#配置远程登录 CREATE USER 'root' @ '%' IDENTIFIED BY password( '你的密码')

#授权 GRANT ALL ON *.* TO 'root' @ '%'

#更新权限 flush privileges

#查看用户,主机,加密方法 select user,host,plugin from user

解决方法:

第一步:如果mysql服务正在进行,将之停止。

第二步:在终端中以管理员权限启动mysqld_safe,命令如下:

sudo/usr/local/mysql/bin/mysqld_safe--skip-grant-tables

执行结果如下:

 mysqld_safe Logging to'/usr/local/mysql/data/lyqdeMacBook-Pro.local.err'.2016-06-12T08:29:17.6NZ mysqld_safe Starting mysqld daemon with databasesfrom/usr/local/mysql/data

第三步:不要关闭当前的终端窗口,新建一个终端窗口,输入如下命令,回车登录mysql

/usr/local/mysql/bin/mysql

登录后,看到欢迎信息:

看到结果:

Reading table informationforcompletion of table and column names

You can turn offthisfeature togeta quicker startup with -A

Database changed

mysql>

然后,更新root的密码,SQL如下:

mysql>update usersetauthentication_string=password('root')whereHost='localhost'and User='root'

注意:

①有的版本的mysql中,密码可能存储在password字段中,可以使用"describe user"命令来查看下表结构再 *** 作

②authentication_string的值一定通过password函数来计算(password('root'))

执行结果如下:

Query OK,1row affected,1warning (0.01sec)

Rows matched:1Changed:1Warnings:1

退出mysql(执行sql语句:exit)

最后一步:将mysqld_safe进程杀死,重启mysqld。

1,控制面板卸载MySQL2,删除目录C:\DocumentsandSettings\AllUsers\ApplicationData\MySQL3.只有彻底删除上次installinformation之后才能安装,为确保起见,去搜索其他的mysql内容,你也有可能在别的地方安装过mysql的。3,重新安装MySQL就好了如何你C:\DocumentsandSettings\AllUsers下没有ApplicationData文件夹,选择:工具——文件夹选项——查看——选择显示所有文件和文件夹。问题解决!这个问题我出现了20次了,呵呵现在总算是知道原因了原因是这样的:你卸载不完全你是不是安装过mysql的其它版本?如果是,要卸载,而且卸载之前要先停止系统进程里的mysql服务,再重启,再安装新的版本才行。目前给你提供一点解决法供参考1。打开系统服务进程:右击我的电脑-管理-服务和应用程序-服务,找到mysql,包括老版本和新版本的,右击,全部停用2。卸载已经安装的MySQL3。重启,手动全部删除旧的安装文件夹,尤其是windows\my.ini或者把MYSQL文件夹全部删除!如果你要保留数据库的话最好是备份先4。再去看看服务进程里有没有mysql,如果有,右击-属性-启动类型-禁用5。安装新的版本,最好改变安装路径。等到出现选择启动win服务的下拉框时候,选41的那个就应该能成功了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5902821.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存