【手动安装并启动后, 如何查看mysql数据库密码以及重置密码(centos8)】

在 CentOS 8 上手动安装 MySQL 后,初始密码的位置取决于安装方式。以下是查找密码的步骤:

1. 通过 yum/dnf 安装的 MySQL 8.0

如果使用官方 RPM 源安装,初始密码会在安装时自动生成并记录在日志中:

bash 复制代码
# 查看 MySQL 初始密码
sudo grep 'temporary password' /var/log/mysqld.log

输出类似:

复制代码
[Note] A temporary password is generated for root@localhost: AbcDeFg123!

密码AbcDeFg123!(示例,实际以你的输出为准)

2. 手动初始化的 MySQL(mysqld --initialize

如果你手动执行了 mysqld --initialize,密码会生成在当前目录下的日志中:

bash 复制代码
# 查找包含临时密码的日志文件(根据初始化时的路径)
sudo grep 'temporary password' /var/log/mysqld.log  # 默认路径
# 或
sudo grep 'temporary password' /path/to/your/log/file.log  # 自定义路径

3. 无密码初始化(不安全,不推荐)

如果在初始化时使用了 --skip-grant-tables 参数,MySQL 会无密码启动。这种情况下,需要重置 root 密码:

bash 复制代码
# 1. 停止 MySQL 服务
sudo systemctl stop mysqld

# 2. 以跳过权限验证的方式启动
sudo mysqld_safe --skip-grant-tables &

# 3. 无密码登录
mysql -u root

# 4. 在 MySQL 命令行中重置密码
USE mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword123!';
FLUSH PRIVILEGES;
EXIT;

# 5. 停止 MySQL 服务
sudo pkill mysqld

# 6. 正常启动 MySQL
sudo systemctl start mysqld

4. 忘记密码后的重置方法

如果忘记了密码,可以通过以下步骤重置:

bash 复制代码
# 1. 停止 MySQL 服务
sudo systemctl stop mysqld

# 2. 创建临时配置文件
echo "skip-grant-tables" | sudo tee -a /etc/my.cnf

# 3. 启动 MySQL
sudo systemctl start mysqld

# 4. 无密码登录并重置密码
mysql -u root
USE mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword123!';
FLUSH PRIVILEGES;
EXIT;

# 5. 停止 MySQL,移除临时配置
sudo systemctl stop mysqld
sudo sed -i '/skip-grant-tables/d' /etc/my.cnf

# 6. 正常启动 MySQL
sudo systemctl start mysqld

5. 验证密码是否生效

bash 复制代码
mysql -u root -p
# 输入新密码后能登录即成功

密码安全建议

  • 密码必须包含大小写字母、数字和特殊字符,长度至少 8 位。

  • 生产环境建议使用 mysql_secure_installation 命令进一步加固安全:

    bash 复制代码
    sudo mysql_secure_installation

注意事项

  • 版本差异:MySQL 5.7 和 8.0 的密码策略不同,8.0 要求更严格的密码复杂度。
  • 日志位置 :如果自定义了数据目录,日志路径可能不同,需通过 my.cnf 配置文件查找。
相关推荐
后台模板学习9 分钟前
用 IM 即时聊天项目一次讲清消息去重算法的踩坑与解决方案
java·数据库·spring
imbackneverdie16 分钟前
国内有哪些比较全面的生物医学相关数据库?
大数据·数据库·人工智能·ai·信息可视化·aigc·科研
数字智核38 分钟前
2026昆山工厂空压机突然停机怎么办?找谁抢修
服务器·网络·数据库
AAA代码批发商1 小时前
Days 39 Linux C 开发之 SQLite 数据库完整学习笔记
linux·c语言·数据库
笑梦无境1 小时前
mysql的安装及配置(3)
数据库·mysql·adb
电商API_180079052471 小时前
跨境1688代采商家,如何借助API打通供应链,实现效率跃迁
大数据·数据库·网络爬虫
小雪崩1 小时前
嵌入式学习 day40:数据库
数据库·学习
Aloudata1 小时前
语义层 vs MCP 工具层:Agent 调用数据时,语义应该放在哪一层
数据库·数据分析·chatbi·data agent·语义层
zcmodeltech1 小时前
源网荷储一体化沙盘模型多场景控制系统设计——基于STM32与Modbus RTU的源网荷储、多能互补、冷热电三联供全场景联动方案,服务范围覆盖全国
数据库·人工智能·stm32·单片机·嵌入式硬件
数智启示录1 小时前
PostgreSQL 执行计划实战(第 9 篇):SQL 和索引没变,计划为什么突然慢一百倍
数据库·经验分享·sql·postgresql·面试