2023.5.14Ubuntu忘记MySQL密码

如果您忘记了MySQL的密码,可以按照以下步骤重置MySQL的密码:

停止MySQL服务:

sudo service mysql stop

启动MySQL服务,并跳过授权表:

sudo mysqld_safe --skip-grant-tables &

使用MySQL客户端连接到MySQL:

image-20230522135422541

根据您提供的日志,出现了两个问题:

Directory ‘/var/run/mysqld’ for UNIX socket file don’t exists.` 这个错误表示MySQL无法找到UNIX套接字文件的目录。

解决方法是创建缺失的目录。请按照以下步骤执行:

bash
sudo mkdir /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld

这将创建/var/run/mysqld目录并将其所有权更改为mysql用户和组。

mysqld_safe Logging to '/var/log/mysql/error.log'. 这只是一个日志记录,告诉您MySQL的错误日志将被记录到/var/log/mysql/error.log文件中。

请注意,启动MySQL时使用--skip-grant-tables选项会绕过权限验证,这对于特定的维护和恢复任务是有用的。但是,这会降低数据库的安全性。因此,在生产环境中不建议长时间使用该选项。请确保在完成维护任务后,重新启动MySQL以恢复正常的权限验证机制。

请注意,上述操作可能需要管理员权限(sudo)。如果您仍然遇到问题,请提供更多详细的错误信息,以便更好地帮助您解决问题。

image-20230522135735481

mysql -u root

在MySQL客户端中执行以下SQL命令:

use mysql;
UPDATE mysql.user SET authentication_string = 'hadoop' WHERE User = 'root';
flush privileges;

注意将上述SQL语句中的 new_password 替换为您要设置的新密码。

image-20230514210031421

退出MySQL客户端并停止MySQL服务:

quit;
sudo service mysql stop

重新启动MySQL服务并使用新密码登录:

sudo service mysql start
mysql -u root -p

可以通过修改MySQL配置文件来取消使用 auth_socket 校验。具体步骤如下:

使用 root 用户登录系统,并编辑 MySQL 配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld] 部分中添加以下行,使 MySQL 支持使用密码进行身份验证:

[mysqld]
plugin-load = auth_socket.so

改为:

[mysqld]
plugin-load = mysql_native_password.so

保存并关闭文件。

重启 MySQL 服务:

sudo service mysql restart

使用以下命令登录 MySQL:

mysql -u root -p

输入密码即可成功登录 MySQL。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值