mysql忘记root密码,修改root密码-阿里云开发者社区

开发者社区> 1840121942114024> 正文

mysql忘记root密码,修改root密码

简介: mysql数据库密码验证是特别的严格,因为关系数据安全,那么如果你的mysql数据库用户名或者密码记不清了,那么数据就丢失了吗?当然不是,开发者已经为我们用户考虑到了,如何解决呢?下面有一些找回用户名密码的方法,小白在此献丑了!
+关注继续查看

修改root密码的方法:
方法一:使用mysqladmin命令:

a. 没有设置过密码:
$mysql_home/bin/mysqladmin -u root password "newpass"

b. 设置过初始密码:
$mysql_home/bin/mysqladmin -u root password oldpass "newpass"

方法二:使用SQL语句修改数据库
首先使用的是像Linux的救援模式一样的超级管理模式

Ⅰ. 先停止mysql服务,然后,通过下面的方式进入超级管理模式

Ⅱ. 进入超级管理模式的方法:
a. $mysql_home/bin/mysqld --skip-grant-tables &

b. 修改mysql的配置文件(一般是/etc/my.cnf),在[mysqld]模块下添加skip-grant-tables,如下

[mysqld]
port        = 3306
socket      = /tmp/mysql.sock
datadir = /usr/local/mysql/var
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 64M
thread_cache_size = 128
query_cache_size = 128M
tmp_table_size = 128M
**skip-grant-tables**

然后,启动mysql

Ⅲ. 通过$mysql_home/bin/mysql免密码直接进入数据库,修改mysql.user表
通过下面的SQL语句修改root用户密码:
mysql 5.7以上的:
UPDATE mysql.user SET authentication_string=PASSWORD('admin') where USER='root';

mysql 5.7 以下的:有的mysql版本可能没有authentication_string字段,是password,改一下
UPDATE mysql.user SET PASSWORD=PASSWORD('admin') where USER='root';即可

修改完后记得刷新权限:

执行FLUSH PRIVILEGES;
退出mysql

Ⅳ. 停止$mysql_home/bin/mysqld --skip-grant-tables &进程(后台运行的进程),停止后台进程的方法详见:
https://blog.csdn.net/mounter625/article/details/6069194 或者 https://www.cnblogs.com/clsn/p/7744858.html
如果是修改配置文件启动mysql服务的,将配置文件还原(注释掉skip-grant-tables),然后重启即可。

Ⅴ. 通过刚修改的新密码连接数据库即可

方法三:和方法二相似通过SQL语句修改数据库的方式修改root密码的方法:
与方法二步骤大致相同,只是SQL语句不同。
进入超级管理模式,修改重启,重新连接即可。

由于SQL里保存密码都是加密的方式,所以,这种方法要使用加密后的密码修改,一般不建议使用,或者修改为空密码。

SQL语句:
将密码修改为空:
mysql 5.7以上版本:
UPDATE mysql.user SET authentication_string='' where USER='root';
mysql 5.7以下版本:
UPDATE mysql.user SET PASSWORD='' where USER='root';

将密码修改为123456:
mysql 5.7以上版本:
UPDATE mysql.user SET authentication_string='*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' where USER='root';
mysql 5.7以下版本:
UPDATE mysql.user SET PASSWORD='*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' where USER='root';

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
mysql修改密码后报错:ERROR 1045:Access denied for user:'root@localhost'(using password:YES)
  重装了mysql,修改了密码,却发现无法连接,报错:Access denied for user 'root'@'localhost' (using password:YES)       查找资料后,大概是说没有给root设置权限,修复方法如下:      1、停止mysql服务,最简单办法:打开任务管理器--服务,关闭MySql。      2、建立一个txt文件mysql-
1504 0
sql点滴44—mysql忘记root密码
1、 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令: net stop mysql      打开第一个cmd1窗口,切换到mysql的bin目录,运行命令: mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.
572 0
6.(Mysql数据管理相关)连接MYSQL,修改密码,增加新用户,数据库相关命令,表操作相关命令,数据相关命令,数据库sql导入和导出,备份数据库,查看不到mysql数据库的解决办法
 mysql安装完之后,登陆后发现只有两个数据库:mysql>show databases; +--------------------+ | Database           | +--------------------+ | information_schema | | test               | +--
1941 0
mysql忘记root密码搞定方法(windows)
1.以系统管理员身份登陆系统。   2.打开cmd-----net start 查看mysql是否启动。启动的话就停止net stop mysql.   3.我的mysql安装在d:\usr\local\mysql4\bin下。
584 0
修改mysql的用户名和密码
首页进入mysql\bin目录,然后按顺序输入命令: 进入MYSQL: mysql -u root -p 改MYSQL用户名:mysql>use mysql;mysql>update user set user="新用户名" where user="旧用户名";mysql>flush pr...
628 0
mysql忘记root密码解决方案
mysql忘记root密码解决方案 1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录和修改MySQL的信息。
5109 0
3
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载