centos下 安装mysql重置密码

本文详细介绍了在CentOS 6.4系统中安装MySQL后,如何通过一系列命令重置忘记的root用户密码的过程。包括启动MySQL服务、查找mysqld_safe路径、停止MySQL服务、安全模式启动MySQL、更新root用户密码及刷新权限。

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

本人在CentOS 6.4上安装万mysql后,无法通过root进入,因为安装的时候,并没有设置root密码,似乎有个初始随机密码,但是不记得了,太麻烦,直接重置root密码。

使用rpm包安装完mysql后,按照一下步骤重置root密码:

启动mysql:
#/etc/init.d/mysql start


启动成功后查看mysql进程信息,获取mysqld_safe的安装目录(非常关键)
#ps -ef | grep -i mysql
root 3466 1 0 01:45 pts/1 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/BSC.TEST.pid
mysql 3569 3466 16 01:45 pts/1 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/BSC.TEST.err --pid-file=/var/lib/mysql/BSC.TEST.pid
root 3597 3105 0 01:45 pts/1 00:00:00 grep -i mysql

可以看到mysqld_safe的安装位置(上面标蓝色部分):/usr/bin/
接着执行一下命令停止mysql:
/etc/init.d/mysql stop

以安全方式启动mysql:
#/usr/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1 &

稍等5秒钟,然后执行以下语句:
#/usr/bin/mysql -u root mysql
注意:mysql与mysql_safe目录一样,都是:/usr/bin/下,这个是通过“ps -ef | grep -i mysql”命令得到的。

出现“mysql>”提示符后输入:
mysql> update user set password = Password('root') where User = 'root';
回车后执行(刷新MySQL系统权限相关的表):
mysql> flush privileges;
再执行exit退出:
mysql> exit;

 

退出后,使用以下命令登陆mysql,试试是否成功:

#mysql -u root -p

按提示输入密码:root

### CentOS 7 安装 MySQL 后的初始密码或默认密码位置 在 CentOS 7 上安装 MySQL 时,初始密码通常会被记录到特定的日志文件中。MySQL安装过程中会生成一个随机密码,并将其存储在 `/var/log/mysqld.log` 文件中[^1]。可以通过以下命令查看该日志文件中的初始密码: ```bash sudo grep 'temporary password' /var/log/mysqld.log ``` 执行上述命令后,输出的结果将包含类似以下内容的临时密码: ``` 2023-03-01T12:34:56.789Z [System] [MY-010456] [Server] A temporary password is generated for root@localhost: <临时密码> ``` 这里的 `<临时密码>` 即为 MySQL 的初始密码。 如果无法找到日志文件或者日志文件中没有记录初始密码,可以尝试通过重置密码的方式来重新设置 MySQL 的 root 密码[^2]。具体步骤包括停止 MySQL 服务、以跳过权限验证的方式启动 MySQL 服务、登录 MySQL 并修改密码等。 此外,如果遇到 `ERROR 1819 (HY000): Your password does not satisfy the current policy requirements` 错误,说明当前密码不符合 MySQL密码策略要求。可以通过调整密码验证策略来解决此问题。例如,将密码策略设置为较低级别: ```sql SET GLOBAL validate_password_policy=LOW; ``` 完成策略调整后,可以再次尝试设置密码[^3]。 ### 注意事项 - 如果 `/var/log/mysqld.log` 文件不存在或为空,可能是因为 MySQL 服务未正确启动或日志路径配置不同。此时需要检查 MySQL 配置文件(通常是 `/etc/my.cnf` 或 `/etc/mysql/my.cnf`),确认日志路径。 - 在生产环境中,建议立即更改初始密码并启用强密码策略以确保安全性。 ```python # 示例代码:Python 脚本读取 mysqld.log 中的初始密码 import re log_file_path = '/var/log/mysqld.log' pattern = r'A temporary password is generated for root@localhost: (.+)' with open(log_file_path, 'r') as file: content = file.read() match = re.search(pattern, content) if match: initial_password = match.group(1) print(f"Initial MySQL password: {initial_password}") else: print("Initial password not found in log file.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值