如何修改mysql root密码

2024-11-04 08:43:00
admin
原创
46
摘要:问题描述:我在 redhat linux 上安装了 MySQL server 5。我无法以 root 身份登录,因此无法更改 root 密码。mysql -u root -p Enter password: <blank> ERROR 1045 (28000): Access den...

问题描述:

我在 redhat linux 上安装了 MySQL server 5。我无法以 root 身份登录,因此无法更改 root 密码。

mysql -u root -p  
Enter password:  <blank>
ERROR 1045 (28000): Access denied for user 'root'@'localhost'
(using password: NO)

当我尝试设置如下内容时:

mysqladmin -u root password 'newpass'

我收到一个错误:

mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' 
(using password: NO)'

好像设置了root密码。

我也尝试过使用(此处描述)重置密码

/sbin/service mysqld start --skip-grant-tables

然后制作:

mysql> UPDATE mysql.user SET Password=PASSWORD('newpass')     
->  WHERE User='root';  
ERROR 1142 (42000): UPDATE command denied to user ''@'localhost' for table 'user'

我甚至卸载了 mysql-server(使用 yum)然后重新安装它,但这没有帮助。

如何强制重置 root 密码?


解决方案 1:

一个选项是保存UPDATE mysql.user SET Password=PASSWORD('newpass') WHERE User='root';到文件中,然后手动启动mysqld--init-file=FILENAME服务器启动后,它会重置您的密码,然后您就能登录了。此后,您应该关闭服务器并正常启动它。

解决方案 2:

有点晚了,但我在安装 Raspberry Pi 时遇到了同样的问题,发现需要提升权限。在密码更改前面添加 sudo 可以让它正常工作。

sudo mysqladmin -u root password 'newpass'

随后是提升的 SQL 访问权限

sudo mysql -u root -p  

如果任何一个不是以 sudo 身份运行,它将会失败。

解决方案 3:

默认情况下,root用户密码为空字符串。

(using password: NO)说没有密码。

您是否尝试从其他系统登录?我想您只能以 root 用户身份在本地登录。

解决方案 4:

我删除了 MySQL 安装并删除了数据文件,然后重新安装它。

然后我就可以设置 root 密码了。一旦你将 root 密码设置为某个值,如果你不知道密码,mysqladmin 将不会让你重置它。

要重置它,您必须拥有 mysqld 执行方式的所有权,并向其提供一个初始化文件来更改 root 密码:
https://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html

解决方案 5:

这对我在 Windows 上使用 MySQL Server 5.6 很有帮助。请确保将路径更改mysqld为指向已安装 MySql Server 的位置,对我来说,它是"C:Program FilesmysqlMySQL Server 5.6inmysqld.exe"

  1. 以管理员身份登录您的系统。

  2. 如果 MySQL 服务器正在运行,请停止它。对于作为 Windows 服务运行的服务器,请转到服务管理器:从“开始”菜单中,选择“控制面板”,然后选择“管理工具”,然后选择“服务”。在列表中找到 MySQL 服务并停止它。

如果您的服务器没有作为服务运行,您可能需要使用任务管理器强制它停止。

  1. 创建包含以下语句的文本文件。将密码替换为您要使用的密码。

UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;

将 UPDATE 和 FLUSH 语句分别写在一行上。UPDATE 语句会重置所有 root 帐户的密码,而 FLUSH 语句会通知服务器将授权表重新加载到内存中,以便它能够注意到密码更改。

  1. 保存文件。在本例中,文件将被命名为C:mysql-init.txt

  2. 打开控制台窗口以进入命令提示符:从开始菜单中,选择运行,然后输入 cmd 作为要运行的命令。

  3. 使用特殊的 --init-file 选项启动 MySQL 服务器(请注意,选项值中的反斜杠要加倍):

C:> C:mysqlinmysqld --init-file=C:\\mysql-init.txt

如果您将 MySQL 安装到 C:\mysql 以外的位置,请相应地调整命令。

服务器在启动时执行--init-file选项指定的文件的内容,更改每个root帐户的密码。

如果您希望服务器输出出现在控制台窗口而不是日志文件中,您还可以在命令中添加 --console 选项。

如果你使用[MySQL 安装帮助]安装了 MySQL,你可能需要指定--defaults-file 选项:

C:> "C:Program FilesMySQLMySQL Server 5.5inmysqld.exe"
     --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.5\\my.ini"
     --init-file=C:\\mysql-init.txt

可以使用服务管理器找到适当的 --defaults-file 设置:从开始菜单中,选择控制面板,然后选择管理工具,然后选择服务。在列表中找到 MySQL 服务,右键单击它,然后选择属性选项。可执行文件路径字段包含 --defaults-file 设置。

  1. 服务器成功启动后,删除C:\mysql-init.txt。

http://docs.oracle.com/cd/E17952_01/refman-5.5-en/resetting-permissions.html

解决方案 6:

可能有点晚了,但这就是我所做的:

创建文件 resetpass.sh,内容如下:

UPDATE mysql.user SET Password=PASSWORD('newpassword') WHERE User='root';

# mysqld_safe --init-file=resetpass.sh

# service mysqld start --skip-grant-tables

# mysql -u root -p

输入通行证

mysql >  change root pass ; flush privs; 

辞职

# restart mysql service 

我使用的MySQL版本是centos6下的5.1.73

解决方案 7:

尝试这样做:

mysql -u root

进而:

mysql> UPDATE mysql.user SET Password=PASSWORD('MyNewPass')
    ->                   WHERE User='root'; 

mysql> FLUSH PRIVILEGES;

对我来说很好用!

解决方案 8:

从命令中删除 -p。-p 强制提示输入密码。

使用 :
mysql -u root

这将解决您的问题。

解决方案 9:

根据文档,在 MySQL 5.7 中输入了临时密码/var/log/mysqld,但在 5.6 中显然不是这种情况。

在 RHEL 6.7 上安装 MySQL 5.6 版本后,最终发现安装时设置的临时 root 密码放在了文件中/root/.mysql_secret

解决方案 10:

打开 mysql

现在输入以下命令:

use mysql;

update user set PASSWORD=password("updated password")  where User='root';

flush privileges;
相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   601  
  华为IPD与传统研发模式的8大差异在快速变化的商业环境中,产品研发模式的选择直接决定了企业的市场响应速度和竞争力。华为作为全球领先的通信技术解决方案供应商,其成功在很大程度上得益于对产品研发模式的持续创新。华为引入并深度定制的集成产品开发(IPD)体系,相较于传统的研发模式,展现出了显著的差异和优势。本文将详细探讨华为...
IPD流程是谁发明的   7  
  如何通过IPD流程缩短产品上市时间?在快速变化的市场环境中,产品上市时间成为企业竞争力的关键因素之一。集成产品开发(IPD, Integrated Product Development)作为一种先进的产品研发管理方法,通过其结构化的流程设计和跨部门协作机制,显著缩短了产品上市时间,提高了市场响应速度。本文将深入探讨如...
华为IPD流程   9  
  在项目管理领域,IPD(Integrated Product Development,集成产品开发)流程图是连接创意、设计与市场成功的桥梁。它不仅是一个视觉工具,更是一种战略思维方式的体现,帮助团队高效协同,确保产品按时、按质、按量推向市场。尽管IPD流程图可能初看之下显得错综复杂,但只需掌握几个关键点,你便能轻松驾驭...
IPD开发流程管理   8  
  在项目管理领域,集成产品开发(IPD)流程被视为提升产品上市速度、增强团队协作与创新能力的重要工具。然而,尽管IPD流程拥有诸多优势,其实施过程中仍可能遭遇多种挑战,导致项目失败。本文旨在深入探讨八个常见的IPD流程失败原因,并提出相应的解决方法,以帮助项目管理者规避风险,确保项目成功。缺乏明确的项目目标与战略对齐IP...
IPD流程图   8  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用