在Linux中MySQL安装成功,但是找不到临时密码 rm -rf /var/lib/mysql/后重启MySQL

本文详细讲解了如何删除MySQL数据、使用mysqld初始化、重置和修改密码。适合IT技术人员参考。
摘要由CSDN通过智能技术生成

目录

一、rm -rf /var/lib/mysql/

二、mysqld --initialize

三、重新生成密码

四、修改密码

一、rm -rf /var/lib/mysql/

        有些时候为了实验环境干净,我们需要删除数据库中所有数据。MySQL中所有数据(库、表)都在/var/lib/mysql/目录下,所以为了方便我们可以直接把此目录下所有文件删除掉。

二、mysqld --initialize
        mysqld --initialize可以初始化数据目录,可以帮我们将/var/lib/mysql/恢复到刚安装MySQL的时候。在某些MySQL版本中,在删除/var/lib/mysql/下的文件后,也可以通过systemctl restart mysql来进行初始化,它自动检测并初始化数据库,但这并不是通用的,所以建议用mysqld --initialize。

注意:

重启数据库服务在不同系列操作系统中有所不同:

#centos/rocky
systemctl restart mysqld.service
 
#ubuntun
systemctl restart mysql.service

 
#另外上面俩种写法后面的.service都可以省略
mysqld --initialize初始化后,检查/var/lib/mysql/目录,是否初始化成功?如下图这样大概就是成功的:

 如果只生成了一个ib_buffer_pool,将ib_buffer_pool删除后再执行一遍mysqld --initialize即可

三、重新生成密码
       在初始化成功之后会重新生成随机的密码,如果你直接使用mysql登录,会报错:

root@Ubuntu22:/var/lib/mysql# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
这样就必须使用生成的密码才能登录(也可以修改配置文件来跳过密码),随机生成的密码在错误日志的文件中。

#rocky
/var/log/mysql/mysqld.log
 
#ubuntun
/var/log/mysql/error.log


 注意,这个密码会过期的,要找最近生成的密码才行。

另外直接使用以下命令登录也会报错:

mysql -uroot -p8&MDa:Q1Vg0i


 正确的方式:

不要将密码打在命令行里面,出现输入密码的提示后,直接粘贴或手动输入密码进去。

四、修改密码

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值