/var/log/mysqld.log 中找不到临时密码

博客提到在CentOS7系统中,通过yum安装MySQL后,找不到root密码,且网上文章给出了一条解决该问题的指令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

centos7通过yum装完mysql,找不到root密码,网上文章都说了一条指令

grep 'temporary password' /var/log/mysqld.log

但是我的mysqld.log中根本没有temporary password,折腾了半天才找到解决方案,相信有小伙伴会遇到一样的问题,贴出来给大家参考:

1.删除原来安装过的mysql残留的数据(这一步非常重要,问题就出在这)

rm -rf /var/lib/mysql

2.重启mysqld服务

systemctl restart mysqld

3.再去找临时密码

grep 'temporary password' /var/log/mysqld.log

本文适用于mysql5.7以上版本

<think>我们正在处理用户关于MySQL安装的问题。用户遇到了两个主要问题: 1. 使用yum install时出现"unrecognized arguments -ivh"错误 2. 安装后mysqld.log为空,无法获取临时密码 根据引用内容,我们知道: - MySQL 8.0为root用户生成随机密码并放在error log中(默认位置/var/log/mysqld.log) - 但用户发现这个日志文件是空的 分析可能的原因: 1. 用户使用yum安装时加了"-ivh"参数,而yum install命令不支持这些参数(这些参数是rpm命令的) 2. 由于安装过程可能没有正确完成,导致MySQL服务从未启动,因此没有生成日志和临时密码 解决步骤: 问题1:yum install命令使用错误 - yum install 命令的正确用法:`yum install package_name` - 用户使用了`yum install -ivh`,其中`-i`、`-v`、`-h`是rpm命令的选项,不是yum的。 - 因此,应该去掉这些选项,直接使用`yum install package_name` 问题2:mysqld.log为空,无法获取临时密码 - 根据引用[1],临时密码是在第一次启动mysqld时生成的,并写入error log。 - 日志为空很可能是因为MySQL服务从未成功启动过。 解决方案: 1. 首先确保正确安装: - 使用正确的yum命令重新安装(如果需要): ```bash yum install mysql-community-server ``` - 如果已经安装过,可以跳过。 2. 启动mysqld服务: ```bash systemctl start mysqld ``` 3. 检查服务状态: ```bash systemctl status mysqld ``` 如果服务启动失败,需要查看错误信息(可能会在/var/log/mysqld.log中,或者使用journalctl -xe查看系统日志) 4. 如果服务启动成功,那么临时密码就会生成在/var/log/mysqld.log中。使用以下命令查看: ```bash grep 'temporary password' /var/log/mysqld.log ``` 5. 如果启动失败,常见原因及解决: - 根据引用[2],可能是以root身份运行mysqld的安全问题。MySQL不建议以root用户直接运行,而是应该使用mysql用户。通常,安装包会自动创建mysql用户并设置权限。 - 检查数据目录(通常是/var/lib/mysql)的权限,确保mysql用户拥有该目录。 - 如果权限有问题,可以执行: ```bash chown -R mysql:mysql /var/lib/mysql ``` 然后再次启动服务。 - 如果之前安装过MySQL,可能有残留数据,需要清理。 6. 如果上述步骤仍不能解决问题,可以尝试重新安装: - 卸载MySQL: ```bash yum remove mysql-community-server rm -rf /var/lib/mysql # 注意:这会删除所有数据! ``` - 重新安装: ```bash yum install mysql-community-server systemctl start mysqld ``` 注意:在重新安装前,确保备份重要数据。 关于引用[3]中的警告:这是关于RPM包签名的警告,通常可以忽略,不影响安装。 总结步骤: 1. 使用正确的yum命令安装(不带-ivh参数) 2. 启动mysqld服务 3. 检查服务状态,解决启动问题(主要是权限) 4. 查看日志获取临时密码 §§相关问题§§ 1. 如何解决MySQL启动时提示"Please read 'Security' section of the manual"的错误? 2. 如何修改MySQL的root密码? 3. 如何配置MySQL的日志文件路径?</think>### MySQL安装问题解决指南 #### 问题1:`yum install`出现"unrecognized arguments -ivh"错误 **原因分析**: `-ivh`是`rpm`命令的参数(`-i`安装、`-v`显示详情、`-h`显示进度条),而`yum install`不支持这些参数[^1]。 **解决方案**: 1. **正确安装命令**: ```bash sudo yum install mysql-community-server ``` 2. 如需查看安装详情,使用: ```bash sudo yum install mysql-community-server -y # -y表示自动确认 ``` --- #### 问题2:`mysqld.log`为空且无临时密码 **原因分析**: 临时密码在首次启动MySQL服务时生成并写入日志[^1]。日志为空表明服务未成功启动。 **解决步骤**: 1. **手动启动MySQL服务**: ```bash sudo systemctl start mysqld # 启动服务 sudo systemctl status mysqld # 检查状态 ``` 2. **检查启动错误**: - 若提示`Fatal error: Please read "Security" section...`[^2]: ```bash sudo mysqld --initialize --user=mysql # 初始化数据目录 sudo chown -R mysql:mysql /var/lib/mysql # 修复权限 sudo systemctl restart mysqld ``` 3. **获取临时密码**: ```bash sudo grep 'temporary password' /var/log/mysqld.log ``` 输出示例:`[Note] A temporary password is generated for root@localhost: 3s#fK_ig1aXu` 4. **若仍无日志**: - 检查磁盘空间:`df -h` - 查看SELinux状态:`sudo sestatus` - 强制重新初始化: ```bash sudo rm -rf /var/lib/mysql/* # 警告:删除现有数据 sudo mysqld --initialize-insecure --user=mysql sudo systemctl restart mysqld ``` --- #### 关键注意事项 1. **首次启动必要性**: 临时密码仅在首次启动服务时生成,直接查看日志无效[^1]。 2. **权限问题**: 日志文件需`mysql`用户可写:`sudo chown mysql:mysql /var/log/mysqld.log` 3. **安装验证**: 检查RPM包签名警告是否影响安装[^3]: ```bash rpm -qa | grep mysql-community-server ``` ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值