找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 82|回复: 1

[数据库] Linux系统下MySQL数据库的超级管理员root的密码忘记/忘记密码怎么办?

[复制链接]
  • 打卡等级:Lv7.热心大叔
  • 打卡总天数:279
  • 打卡月天数:3
  • 打卡总奖励:8516
  • 最近打卡:2026-05-11 09:07:12

381

主题

599

回帖

1万

积分

管理员

积分
11455
发表于 2024-11-8 21:33:38 | 显示全部楼层 |阅读模式
当遗忘MySQL的root密码时,可以通过修改配置文件或启动参数来跳过权限检查,然后登录并修改密码。
方法一
1.添加登录跳过权限检查配置
gedit /etc/my.cnf
修改 /etc/my.cnf 文件,在 [mysqld] 配置节点添加 skip-grant-tables 配置
[mysqld]
skip-grant-tables

登录myql
mysql -uroot -p
直接回车跳过密码

删除用户、创建用户的命令:
drop user 'root'@'localhost';
# 刷新权限
flush privileges;
# 创建用户
create user 'root'@'localhost' identified by 'Root@54321';
# 给用户授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@localhost WITH GRANT OPTION;

ALTER user 'root'@'localhost' IDENTIFIED BY 'Root@54321';
--修改密码为Root@54321


请将“username”替换为你的用户名,并将“new_password”替换为你要设置的新密码。
请注意:如果你是在远程服务器上运行MySQL,则需要将“localhost”替换为远程主机的IP地址。
按Enter键执行该命令。如果没有错误,你应该会收到一个“Query OK”的消息。

最后,退出MySQL服务器并使用新密码重新登录:
exit;

特别注意:MySQL的配置文件/etc/my.cnf中配置skip-grant-tables,会导致无法远程登录数据库,所以修改好密码之后,必须将skip-grant-tables注释掉。

重新启动mysql服务
service mysqld restart

mysql -u username -p 这个命令默认登陆的是root账户,我要登陆别的账户怎么办?
mysql -u username -p 命令中的 username 是您要登录的 MySQL 用户名,不一定是 root。如果您想要登录到其他账户,只需要将命令中的 username 替换为您要登录的用户名即可。
按下 Enter 键后,系统将提示您输入密码。如果密码正确,您将登录到 MySQL 服务器并获得 mysql> 提示符。

Rocky Linux9查看mysql 端口号,成功连接后,输入以下命令查看端口号:
SHOW VARIABLES LIKE 'port';
  • 打卡等级:Lv7.热心大叔
  • 打卡总天数:279
  • 打卡月天数:3
  • 打卡总奖励:8516
  • 最近打卡:2026-05-11 09:07:12

381

主题

599

回帖

1万

积分

管理员

积分
11455
 楼主| 发表于 2024-11-10 07:39:10 | 显示全部楼层
创建一个新的数据库和用户(可选):
CREATE DATABASE exampledb;
CREATE USER 'exampleuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON exampledb.* TO 'exampleuser'@'localhost';
FLUSH PRIVILEGES;


成功登录后,你可以执行各种MySQL命令来管理数据库。以下是一些常用的命令示例:
显示当前数据库列表:
show databases;
切换到指定数据库:
use 数据库名;
其中,数据库名是你要切换到的数据库名称。
显示当前数据库中的表:
show tables;
执行SQL查询语句:
select * from 表名;
其中,表名是你要查询的表名称。
插入数据到表中:
insert into 表名 (列1, 列2, 列3) values (值1, 值2, 值3);
其中,表名是你要插入数据的表名称,列1、列2、列3是表中的列名,值1、值2、值3是要插入的数据。
更新表中的数据:
update 表名 set 列名 = 新值 where 条件;
其中,表名是你要更新数据的表名称,列名是要更新的列名,新值是要更新的值,条件是更新的条件。
删除表中的数据:
delete from 表名 where 条件;
其中,表名是你要删除数据的表名称,条件是删除的条件。
4. 当你完成对数据库的操作后,可以使用以下命令退出MySQL服务器:
exit;
这些是连接MySQL数据库的基本操作命令。你可以根据具体需求使用不同的命令来管理和操作数据库。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Discuz! X

GMT+8, 2026-5-13 19:35 , Processed in 0.048411 second(s), 24 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表