
mysql>CREATE USER 'nonexistant'@'%' IDENTIFIED BY '123456'Query OK, 0 rows affected (0.00 sec)
修复:检查和/或重置密码:您无法从 MySQL 以纯文本格式读取用户密码,因为密码哈希用于身份验证,但您可以将哈希字符串与“PASSWORD”函数进行比较。
我们可以看到 PASSWORD('forgotten')哈希与 authentication_string 列不匹配,这意味着 password string ='forgotten' 不是正确的登录密码。如果您需要覆盖密码,可以执行以下查询:
mysql>set password for 'nonexistant'@'%' = 'hello$!world'Empty set (0.00 sec)
解决办法是重新设置root用户密码,在Windows平台下 *** 作步骤如下:1、以系统管理员身份登录到系统;
2、如果MySQL服务器正在运行,停止它。
如果是作为Windows服务运行的服务器,进入服务管理器:开始菜单->控制面板->管理工具->服务
如果服务器不是作为服务而运行的,可能需要使用任务管理器来强制停止它。
3、创建1个文本文件,并将下述命令置于单一行中:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword')
用任意名称保存该文件。在本例中,该文件为C:\mysql-init.txt。
4、进入DOS命令提示:开始菜单->运行->cmd
假定你已将MySQL安装到C:\mysql。如果你将MySQL安装到了另一位置,请对下述命令进行相应的调整。
在DOS命令提示符下,执行命令:
C:\>C:\mysql\bin\mysqld-nt --init-file=C:\mysql-init.txt
在服务器启动时,执行由“--init-file”选项(作用:在启动时从指定的文件中读取SQL命令)命名的文件的内容,更改根用户密码。当服务器成功启动后,应删除C:\mysql-init.txt。
5、停止MySQL服务器,然后在正常模式下重启它。如果以服务方式运行服务器,应从Windows服务窗口启动它。如果以手动方式启动了服务器,能够像正常情形下一样使用命令。
1045的错误有以下这两种:1)、ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)
2)、ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: YES)
解决办法:
1.找到配置文件my.ini ,然后将其打开,可以选择用记事本打开
2.打开后,搜索mysqld关键字,找到后,在mysqld下面添加skip-grant-tables,保存退出。
3.然后运行cmd
输入mysql -u root -p就可以不用密码登录了,出现password:的时候直接回车可以进入。
4.
1).进入mysql数据库:
mysql>use mysqlDatabase changed
2).给root用户设置新密码,蓝色部分自己输入:mysql>update user set password=password("123456") where user="root"Query OK, 1 rows affected (0.04 sec)Rows matched: 1 Changed: 1 Warnings: 0
3).刷新数据库mysql>flush privilegesQuery OK, 0 rows affected (0.01 sec)
4).退出mysql:mysql>quitBye
5.改好之后,再修改一下my.ini这个文件,把我们刚才加入的"skip-grant-tables"这行删除,保存退出再重启mysql服务就可以了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)