linux下 root 登录 MySQL 报错的问题
网络编程 2021-07-05 15:28www.168986.cn编程入门
本文给大家记录的是个人在linux下使用root用户登录mysql的时候遇到的一个错误的解决方法,非常的简单实用,有需要的小伙伴可以参考下。
最近在centOS 7上,通过yum安装了mysql,安装成功后,使用root登录,出现了如下报错:
ERROR 1045 (28000): Aess denied for user 'root'@'localhost' (using password: NO)
mysql版本为:Ver 14.14 Distrib 5.7.10, for Linux(X86_64) using EditLine wrapper
然而实际上并没有进行过root密码设置(不知道是不是安装过程有被忽略的地方?)。
对此就各种寻找答案,大致有狼蚁网站SEO优化一些情况:
有说root的随机密码位于/root/.mysql_secret中,但是我根本没有/root/.mysql_secret文件。有文章表示
> ERROR 1045 (28000): Aess denied for user 'root'@'localhost' (using > password: NO) :表示没有生成root的临时密码 > > ERROR 1045 (28000): Aess denied for user 'root'@'localhost' (using > password: YES) :表示生成了root的临时密码。
有些资料说root的默认密码为空,经过确认那是以前的老版本,Mysql 5.6及以后版本出处于安全考虑,root密码已经不为空了。
最终找到对我来说有用的解决方案。
产生原因:
Now that the password MySQL had generated is expired, the problem is reduced to getting this password to work again (1) or generate a new one (2). This can be acplished by running MySQL with the skip-grant-tables option which would make it ignore the aess rights:
解决方法:
代码如下:
S your MySQL server.
Add skip-grant-tables at the end of the [mysqld] section of my.f file and save it.
Start MySQL server.
In terminal, typemysql -u root -pto get into MySQL mand prompt.
In the mand prompt, typeUSE mysql;to get into the mysql database where it keeps database users.
Type
UPDATE user SET password_expired = 'N' WHERE User = 'root';
to let MySQL know the password is not expired (1) or
UPDATE user SET authentication_string = PASSWORD('YourNewPassword'), password_expired = 'N' WHERE User = 'root';
附上链接:
发布出来,供大家参考。
编程语言
- 机械手焊接机器人编程 机械手焊接设备编程
- vb数据库编程实例,vb做数据库
- tiobe世界编程语言排行榜,全球编程语言排行
- 成都java编程培训 成都it编程培训中心
- 编程基础培训,编程基础知识培训
- flash游戏编程基础教程,flash游戏开发教程
- 不会英语能学编程吗 不会英语可以学程序员吗
- 爱心代码编程C语言 爱心代码编程c语言公式
- c语言编程学习入门 c语言编程快速入门
- 西门子plc编程培训 西门子plc编程培训班
- 哪里可以学编程 台州哪里可以学编程
- 少儿编程哪个好 少儿编程哪个品牌好
- 编程是什么意思,图形编程是什么意思
- c语言编程软件下载,c语言编程软件在哪下载
- java编程软件下载,java编程下载手机版
- ug编程培训学校,ug编程培训教程