我的电脑是win10,所用的是mysql5.7.14

近期在学习mysql数据库的时候,遇到了这个错误,我的密码错误了。突如其来的问题,很是蒙蔽,因为我没对数据库设置过密码。通过网上查询,可以通过进入mysql命令行的方式,来直接修改数据库的密码。具体步骤如下:

在mysql数据库的my.ini文件中找到mysqld这一项:

用记事本打开,找到mysqld,并往其中添加skip-grant-tables

然后上面的就变成:

[mysqld]

skip-grant-tables

port=3306

这句话的意思是,跳过验证,这个在开发的时候是很有帮助的,因为在我们忘记密码以后可以很方便的修改数据库密码的,但是,为了安全,这个选项不能一直存在。

然后保存并在windows服务中重启mysql服务,进入mysql所在路径下的bin目录中,运行如下指令:

mysql -u root -p

对于弹出的enter password可以直接一个回车跳过,从而进入mysql命令行。在mysql命令行中 使用如下指令修改密码:

 use mysql;
update user set password=password("123456") where user="root";

但是在实际用的时候,这个报错了,显示mysql数据库中没有password这一列,这就很奇怪了,因为这个是每个数据库自带的一项,查了资料才知道,在mysql5.7.14中,password字段被改成了 authentication_string,修改上述指令的第二行为:

update mysql.user set authentication_string=password('root') where user='root' ;

这样就实现了对密码的修改,然后刷新一下数据库:

flush privileges;

接着退出,并把my.ini文件中添加的那一项去掉,并重启数据库服务,就能在python脚本中访问了。
在访问中,又遇到了一个新的问题,1862 Your password has expired. To log in you must change it using a client,

并且提示mysql error You must reset your password using ALTER USER statement before executing this statement.对于这个问题,需要调用如下指令:

 alter user user("root") identified by "new_password";

然后刷新数据库。这样就能完整的解决以上的报错问题。

mysql ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)错误解决办法的更多相关文章

  1. MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 的解决办法和原因

    这两天下载了MySQL5.7.11进行安装,发现到了初次使用输入密码的时候,不管怎样都进不去,即使按照网上说的在mysqld 下面添加skip-grant-tables也是不行,后来研究了两天,终于找 ...

  2. 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) 原因 :登录帐户错误(ODB ...

  3. CentOS命令登录MySQL时,报错ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)错误解决方法

    1.停用mysql服务:# /etc/rc.d/init.d/mysqld stop 2.输入命令:# mysqld_safe --user=mysql --skip-grant-tables --s ...

  4. 在linux系统中登录mysql时出现Enter password: ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)的解决办法

    在一次使用mysql数据库是出现了这种错误,于是乎去百度看了很多博文踩了很多坑,最终解决了问题,分享给大家. 转载与:https://blog.csdn.net/css33/article/detai ...

  5. ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: N O) MYSQL

    ERROR 1045 (28000): Access denied for user ODBC@localhost 刚使用mysql, 碰到这个问题.. C:\Program Files\MySQL\ ...

  6. Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'(using password: YSE)

    安装mysql后,使用命令登录mysql居然报错了,Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'(using ...

  7. MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO

    MySQL安装完server端和客户端后,登录Mysql时报错:[root@rhel204 MySQL 5.6.23-RMP]# mysqlERROR 2002 (HY000): Can't conn ...

  8. Mysql忘记密码:关于ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)的问题

    命令行登录mysql时,出现ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)的提示. ...

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

    转自:http://blog.sina.com.cn/s/blog_586a1f3e01000b82.html 刚使用mysql, 就老是碰到这个问题,真是郁闷, 终于找到原因.. C:\Progra ...

随机推荐

  1. html js div随鼠标移动

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. linux计划任务 学习笔记

    原文链接: http://www.tsingfeng.com/?tag=cronjob 本文说的计划任务是指linux的Cronjob.语法 下面是个简单的计划任务: 10 * * * * /usr/ ...

  3. Scrum立会报告+燃尽图(Beta阶段第七次)

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2388 项目地址:https://coding.net/u/wuyy694 ...

  4. 软工1816 · Alpha冲刺(5/10)

    团队信息 队名:爸爸饿了 组长博客:here 作业博客:here 组员情况 组员1(组长):王彬 过去两天完成了哪些任务 后端代码复审 福大各个食堂的菜品口味量化.属性标记 组织前后端线下协作 接下来 ...

  5. unix系统内核优点

    1.可靠性高 unix的可靠性2.伸缩性强 unix的伸缩性3.开放性好 unix的开放性4.网络功能强 unix的网络功能这是UNIX系统的又一重要特色,特别是作为Internet网络技术基础的TC ...

  6. 201621123037 《Java程序设计》第4周学习总结

    #Week04-面向对象设计与继承 1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 关键词:超级父类."is-a".父类.子类.重载.继承.多态 1.2 尝 ...

  7. 第二周:PSP&进度条

    PSP: 一.词频统计改进 1.表格:     C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(hrs) 学习 <构建之法>.Java 8:46 1 ...

  8. Mysql的表名/字段名/字段值是否区分大小写

    1.MySQL默认情况下是否区分大小写,使用show Variables like '%table_names'查看lower_case_table_names的值,0代表区分,1代表不区分. 2.m ...

  9. 什么是HotSpot

    Java 是动态编译,跟C++静态编译不同,这就是JIT编译器的原因(Just In Time) HotSpot会把这些部门动态地编译成机器码,Native code, 并对机器码进行优化, 静态编译 ...

  10. c#中,字符串前加@是什么意思

    让转移字符"\"保持原意,不要转义,如一个地址字符串string path="c:\abc\";默认的"\"是作为转义来使用的,而不是一个真 ...