centos 下面修改mysql的root密码

本文介绍了一种在忘记MySQL root密码的情况下如何通过修改配置文件跳过权限验证来重置密码的方法。具体步骤包括:编辑my.cnf文件加入skip-grant-tables选项、重启MySQL服务、登录MySQL并更新root用户的密码等。

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

用VIM打开   /etc/my.cnf 


在[mysqld] 下面加一行    skip-grant-tables 这里注意是在mysqld下面加,不是在mysqld_safe下面加

然后重新启动mysql服务,   service mysqld restart

重新启动以后则登录MYSQL不需要密码,   mysql -u root -p 

然后修改mysql里面的字段,然后修改root的密码

UPDATE mysql.user SET Password = password ("新的ROOT密码") WHERE User = 'root

其中新的root密码即是新的root密码,修改以后在用VIM打开  /etc/my.cnf  文件,把刚才加的那句 skip-grant-table 前面加个# 注释掉

然后重新启动mysql服务   service mysqld restart  即可

最后用新的root密码登录就好了

### CentOS 7 上修改 MySQLRoot 用户密码教程 在 CentOS 7 系统中,如果需要修改 MySQL 数据库的 `root` 用户密码,可以按照以下方法操作。以下是基于不同场景下的具体实现方式。 #### 方法一:正常情况下修改密码 当能够正常使用 `root` 账户登录 MySQL 并未启用跳过授权表选项时,可以直接通过 SQL 命令完成密码修改: 1. 登录到 MySQL: ```bash mysql -u root -p ``` 2. 切换至 `mysql` 数据库: ```sql USE mysql; ``` 3. 执行密码修改命令(适用于 MySQL 5.7 及以上版本): ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; ``` 4. 刷新权限表以使更改生效: ```sql FLUSH PRIVILEGES; ``` 5. 退出 MySQL: ```sql QUIT; ``` 此过程涵盖了标准情况下的密码修改流程[^1]。 --- #### 方法二:忘记密码或无法登录的情况 如果忘记了当前的 `root` 密码或者由于其他原因无法正常登录,则可以通过临时禁用授权表来重置密码。 1. **停止 MySQL 服务**: ```bash systemctl stop mysqld ``` 2. **以跳过授权表的方式启动 MySQL**: ```bash mysqld_safe --skip-grant-tables & ``` 3. **重新连接到 MySQL**: 此时无需提供密码即可直接进入 MySQL 控制台。 ```bash mysql -u root ``` 4. **切换到 `mysql` 数据库并更新密码**: 对于 MySQL 5.7 或更高版本,执行以下语句: ```sql UPDATE user SET authentication_string = PASSWORD('新密码') WHERE User='root'; FLUSH PRIVILEGES; ``` 如果遇到错误提示关于 `PASSWORD()` 函数已废弃的问题,请改用更现代的方法: ```sql ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; FLUSH PRIVILEGES; ``` 5. **重启 MySQL 服务恢复正常模式运行**: 终止之前后台运行的服务实例,并恢复常规启动状态。 ```bash kill $(pgrep mysqld) systemctl start mysqld ``` 这种方法特别适合处理丢失访问凭证的情形[^5]。 --- #### 方法三:针对特定环境调整策略 对于某些特殊安装环境下可能存在的差异性考虑因素也需注意,比如是否启用了插件认证机制或者其他安全增强特性等情形下所采取的不同应对措施[^4]。 例如,在部分部署环境中可能会涉及到额外的安全加固步骤或是不同的身份验证插件应用状况,这些都需要参照实际系统配置情况进行适当调整。 --- ```python # Python 示例脚本用于自动化测试新的登录凭据有效性 import pymysql def test_mysql_login(host, port, username, password): try: connection = pymysql.connect( host=host, port=int(port), user=username, passwd=password ) print("Connection successful!") connection.close() except Exception as e: print(f"Failed to connect: {e}") test_mysql_login('localhost', 3306, 'root', '新密码') ``` 上述代码片段可用于验证刚刚设置的新密码是否有效工作。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值