如何修改mysql root密码

2024-11-04 08:43:00
admin
原创
230
摘要:问题描述:我在 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;
相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   1565  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1354  
  信创国产芯片作为信息技术创新的核心领域,对于推动国家自主可控生态建设具有至关重要的意义。在全球科技竞争日益激烈的背景下,实现信息技术的自主可控,摆脱对国外技术的依赖,已成为保障国家信息安全和产业可持续发展的关键。国产芯片作为信创产业的基石,其发展水平直接影响着整个信创生态的构建与完善。通过不断提升国产芯片的技术实力、产...
国产信创系统   21  
  信创生态建设旨在实现信息技术领域的自主创新和安全可控,涵盖了从硬件到软件的全产业链。随着数字化转型的加速,信创生态建设的重要性日益凸显,它不仅关乎国家的信息安全,更是推动产业升级和经济高质量发展的关键力量。然而,在推进信创生态建设的过程中,面临着诸多复杂且严峻的挑战,需要深入剖析并寻找切实可行的解决方案。技术创新难题技...
信创操作系统   27  
  信创产业作为国家信息技术创新发展的重要领域,对于保障国家信息安全、推动产业升级具有关键意义。而国产芯片作为信创产业的核心基石,其研发进展备受关注。在信创国产芯片的研发征程中,面临着诸多复杂且艰巨的难点,这些难点犹如一道道关卡,阻碍着国产芯片的快速发展。然而,科研人员和相关企业并未退缩,积极探索并提出了一系列切实可行的解...
国产化替代产品目录   28  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

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

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

内置subversion和git源码管理

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

免费试用