MySQL重置密码

设置mysql初始密码

常规设置密码

一般mysql的root默认密码为空,如果之前没有设置过root密码,我们可以使用空密码登录后设置密码。
1、启动mysql,centos中service start mysql,windows中net start mysql

2、mysql -u root,进入mysql控制台

3、执行修改密码命令

1
2
3
mysql> use mysql;
mysql> update mysql.user set password=password('voidking') where user='root';
mysql> exit;

4、重启mysql服务
service mysqld restart

5、测试登录
mysql -u root -p

mysqladmin

也可以使用mysqladmin命令来修改root密码。
1、启动mysql

2、重置密码
mysqladmin -u root -p password voidking

phpmyadmin修改密码

安装配置phpmyadmin,方法自行百度。

mysql忘记密码

1、kill掉系统里的mysql进程

2、以不检查权限的方式启动mysql:
mysqld_safe --skip-grant-tables &

3、用空密码登录mysql
mysql -u root

4、修改root用户的密码

1
2
3
mysql> update mysql.user set password=password('voidking') where user='root';
mysql> flush privileges;
mysql> quit;

5、重新启动mysql

1
2
3
4
ps -e | grep mysql
kill -KILL [PID of mysqld_safe]
kill -KILL [PID of mysqld]
service mysqld start

6、测试登录mysql
mysql -u root -p,回车后输入新设置的密码“voidking”即可。

空密码无法登录

问题描述

登录mysql,mysql -u root -p,两次回车,结果提示,“ERROR 1045 (28000): Access denied for user ‘root‘@’localhost’ (using password:NO)”。

解决办法

1、停止mysql服务,service mysqld stop
2、进入/usr/local/mysql/bin文件夹,启用安全模式,./mysqld_safe --skip-grant-tables &
3、使用root用户登录mysql,mysql -u root
4、修改root用户密码:

1
2
3
4
5
mysql> use mysql;
mysql> select * from user;
mysql> truncate table user;
mysql> flush privileges;
mysql> grant all privileges on *.* to root@localhost identified by 'voidking' with grant option;

如果想设置密码为空,那么:

1
2
mysql> grant all privileges on *.* to root@localhost identified by '' with grant option;
mysql> flush privileges;

确认结果:

1
2
3
4
5
6
7
8
mysql> select host, user from user;
+-----------+------+
| host | user |
+-----------+------+
| localhost | root |
+-----------+------+
1 row in set (0.00 sec)
mysql> quit;

5、启动mysql服务:

1
2
3
4
ps -e | grep mysql
kill -KILL [PID of mysqld_safe]
kill -KILL [PID of mysqld]
service mysqld start

6、登录mysql,mysql -u root -p,回车后输入新设置的密码“voidking”即可。

允许远程访问

1、关闭防火墙
systemctl stop firewalld.service

或者开放端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanentfirewall-cmd --reload

2、登录mysql控制台,然后依次输入:
mysql> use mysql;
mysql> grant all privileges on *.* to 'root'@'%' identified by 'voidking' with grant option;

书签

Mysql数据库中设置root密码的命令及方法

Access denied for user ‘root@localhost’ (using password:NO)

0%