0%

mysql忘记密码

服务器-Mysql忘记密码

问题描述:使用阿里云服务器,CentOS7系统,Mysql忘记密码

报错如下:

1
2
3
[root@mytestlnx02 ~]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

修改密码

  1. 关闭服务
1
[root@mytestlnx02 ~]# service mysql stop
  1. 修改配置文件 my.cnf 一般在 /etc/my.cnf, 有些版本在/etc/mysql/my.cnf

在配置文件中[mysqld]下,加行代码

1
2
3
4
[mysqld]

skip-grant-tables
#作用是登录 mysql 时跳过密码验证

然后启动 mysql 服务,进入 mysql

1
2
3
4
5
[root@mytestlnx02 ~]# service mysql restart
[root@mytestlnx02 ~]# mysql -u root
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
  1. 修改密码
1
2
3
4
5
6
7
8
9
10
11
12
13
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update mysql.user set authentication_string=password('新密代放这里') where user='root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1

mysql> flush privileges; #刷新缓存
Query OK, 0 rows affected (0.00 sec)

mysql> exit
  1. 重启 mysql 服务

重启之前把 skip-grant-tables 删掉或注释掉

1
[root@mytestlnx02 ~]# service mysql restart
  1. 密码登录查看即可

查看数据库

查看所有数据库 show databases;

use 数据库名

show tables;

对表进行操作

项目服务报错-500

image-20220330144823086

报错信息:java.sql.SQLException: null, message from server: “Host ‘XXX’ is not allowed to connect

问题原因:数据库访问权限问题,这个异常是数据库只允许localhost或127.0.0.1访问,不允许远程访问。

解决:

img