Linux安装mysql修改密码及登录

本文介绍了如何查找和修改MySQL的初始密码,包括解决密码策略问题和在忘记密码时的重置步骤。通过查看日志获取初始密码,使用ALTER USER命令更新密码,以及在无法登录时通过修改配置文件skip-grant-tables跳过权限检查来重置密码。此外,还提到了调整密码策略以允许使用简单密码的方法。

修改密码及登录

初始密码

MySQL第一次启动后会创建超级管理员账号root@localhost,初始密码存储在日志文件中:

[root@localhost ~]# grep 'temporary password' /var/log/mysqld.log
2020-12-06T07:32:41.399112Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Nd<-p!Fxt6A8

root@localhost: 后面的是密码

修改默认密码

# 先进行登录
[root@localhost ~]# mysql -uroot -p
Enter password: 
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 
#密码太弱

解决方法如下:

  • 使用复杂密码,MySQL默认的密码策略是要包含数字、字母及特殊字符;
  • 如果只是测试用,不想用那么复杂的密码,可以修改默认策略,即validate_password_policy(以及validate_password_length等相关参数),使其支持简单密码的设定,具体方法可以参考:设置密码策略;
  • 修改配置文件/etc/my.cnf,添加validate_password=OFF,保存并重启MySQL

重置密码

上述会存在初始密码输入不正确的问题 或者忘记了密码 只能重置密码

解决方法:

1.检查mysql服务是否启动,如果启动,关闭mysql服务
//查看mysql服务状态
ps -ef | grep -i mysql
//关闭服务
service mysql stop
2.修改mysql的配置文件“my.conf”

my.cnf配置文件的位置,一般在/etc/my.cnf,有些版本在/etc/mysql/my.cnf

在配置文件中,增加1行代码

[mysqld]
skip-grant-tables

作用是登录mysql的时候跳过密码验证

然后启动mysql服务,并进入mysql

service mysqld start

mysql -u root 

3. 修改密码

连接mysql这个数据库,修改用户密码

mysql> use mysql;

mysql> update mysql.user set authentication_string=password('root_password') where user='root';

mysql> flush privileges;

mysql> exit

CentOS下应该这样操作

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '这是密码';

mysql> flush privileges;

mysql> exit

4. 重启mysql服务

先将之前加在配置文件里面的代码注释或删除掉,然后重启mysql服务,就可以使用刚刚设置的密码登录了。

service mysql stop  # 停止

service mysql start # 启动

mysql -u root -p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yizhi-w

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值