以下是如何以正确用户身份启动mysqld的步骤:
- 停止mysqld服务(如果它正在运行):
systemctl stop mysqld
- 以
mysql
用户身份启动mysqld服务,使用--skip-grant-tables
和--skip-networking
选项:
sudo -u mysql mysqld --skip-grant-tables --skip-networking &
使用sudo -u mysql
,您将切换到mysql
用户身份来启动mysqld。
3. 在另一个终端,使用root用户无密码登录MySQL:
mysql -u root
- 在MySQL提示符下,执行以下SQL命令来重置root密码:
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
EXIT;
若报错:
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
可能是root链接方式可能是 'root'@'%'
修改后执行
- 杀死mysqld进程并正常启动MySQL服务:
首先,找到mysqld进程的PID:
ps aux | grep mysqld
然后,使用kill
命令结束该进程:
kill -9 [PID]
将[PID]
替换为实际找到的mysqld进程的PID。
最后,正常启动MySQL服务:
systemctl start mysqld
现在,您应该能够使用新密码登录MySQL:
mysql -u root -p
输入新密码后,您应该能够成功登录。