Mac系统Mysql密码重置的问题

在尝试通过mysqld_safe启动MySQL时遇到权限错误,错误信息为'mysqld_safemysqld_from_pid_file/usr/local/var/mysql/l******.pidended'。问题根源在于用户权限不足。解决方案是不需要使用sudo su,而是直接运行mysqld_safe并添加--user参数指定正确用户,从而成功启动MySQL并避免权限问题。

这里记录一个大家解决这个问题时可能遇到的障碍,网上搜索的答案一般都是以下一个步骤,

1)关闭mysql server :   

mysql.server stop

2)开启 mysqld_safe 

mysqld_safe --skip-grant-tables 

但是有些答案会写先sudo su , 我碰到的障碍就是这一步引起的,后面再说

3)mysql 免密码进入数据库, 修改root密码。

我碰到的问题就是在第二步的时候会报错,无法启动。 

提示如下:

mysqld_safe mysqld from pid file /usr/local/var/mysql/l******.pid ended

进过一番网上搜索, 发现其实还是用户权限导致的, 不加sudo su这一步, 就不会报错。

也是受到网上 提到的 mysqld_safe --user==xxxx 的启发, 尝试成功的, 记录在此以共享。 

当mysqld_safe 启动总是失败的时候,可以考虑一下是不是用户权限导致的。 

Mac 系统下,如果忘记了 MySQL 的初始密码或管理员密码,可以通过进入安全模式来重置密码。以下是详细的重置步骤: 1. 打开终端(Terminal)。 2. 输入以下命令以停止当前运行的 MySQL 服务: ```bash sudo /usr/local/mysql/support-files/mysql.server stop ``` 3. 使用安全模式启动 MySQL,跳过权限表: ```bash sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables & ``` 4. 在新的终端窗口或标签页中,连接到 MySQL 服务器: ```bash mysql -u root ``` 5. 在 MySQL 提示符下,执行以下命令来刷新权限并更改密码。假设要将密码更改为 `new_password`,请根据实际情况替换: ```sql FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; ``` 6. 完成后,退出 MySQL 并重启 MySQL 服务: ```bash exit sudo /usr/local/mysql/support-files/mysql.server start ``` 通过上述步骤,可以成功重置 MySQL 的密码,而无需知道之前的密码[^2]。 ### 示例代码 以下是一个简单的 Python 脚本,用于测试新设置MySQL 密码是否有效: ```python import mysql.connector try: # 尝试连接到 MySQL 数据库 connection = mysql.connector.connect( host='localhost', user='root', password='new_password' # 替换为你新设置的密码 ) if connection.is_connected(): print("成功连接到 MySQL 数据库") except Exception as e: print(f"连接失败: {e}") finally: if 'connection' in locals() and connection.is_connected(): connection.close() ``` ###
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值