linux环境下登录mysql报错Access denied 以及修改root密码
一、解决:Access denied for user ‘root‘@‘localhost‘ (using password: YES)
1、Centos登录MySQL报错
2、在mysql配置文件内mysql.cnf,添加如下代码,绕过密码验证:
skip-grant-tables
3、重新登录mysql系统修改, mysql -uroot -p 回车
Enter password: 回车(这里不用输密码,直接回车跳过)
MySQL 5.7及以后版本,密码字段是 authentication_string
mysql>use mysql;
mysql> update user set authentication_string=password("新密码") where user='root'; 【密码注意大小写,密码要用password加密】
mysql> flush privileges;
mysql> exit;
4、注释掉前面加的绕过权限的配置
#skip-grant-tables
重启MySQL服务即可
systemctl restart mysql
二、知道原来的myql数据库的root密码;
①: 在终端命令行输入 mysqladmin -u root -p password "新密码" 回车 ,Enter password: 【输入原来的旧密码】--方法1
②: 登录mysql系统修改, mysql -uroot -p 回车 Enter password: 【输入原来的密码】--方法2
mysql>use mysql;
mysql> update user set password=password("新密码") where user='root'; 【密码注意大小写】
mysql> flush privileges;
mysql> exit;
三、不知道原来的myql的root的密码;
首先,你必须要有操作系统的root权限了。要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤。 类似于安全模式登录系统。
需要先停止mysql服务,这里分两种情况,一种可以用service mysqld stop,
另外一种是/etc/init.d/mysqld stop
当提示mysql已停止后进行下一步操作 Shutting down MySQL. SUCCESS!
在终端命令行输入
mysqld_safe --skip-grant-tables & 【登录mysql系统】
输入mysql登录mysql系统
mysql> use mysql;
mysql> UPDATE user SET password=password("新密码") WHERE user='root'; 【密码注意大小写】
mysql> flush privileges;
mysql> exit;
重新启动mysql服务
————————————————
原文链接:https://blog.csdn.net/qq_42822007/article/details/90550614
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏