如何重置mysql数据的用户名和密码

如何重置mysql数据的用户名和密码,第1张

检查 *** 作系统是否安装有mysql数据库,在debian *** 作系统检查命令:dpkg --list |grep mysql

先检查root用户密码是否已经忘记,输入命令:mysql -uroot -p

悲剧了,数据库的root用户密码忘记了,重装不是权益之计,下面小白就告诉你怎么跳过安全验证修改密码,先关闭进程中的mysql服务

然后用非正常方式起动mysql,/usr/local/mysql/bin/mysqld_safe –skip-grant-tables &这样就可以不需要密码进入mysql,/usr/local/mysql/bin/mysql -u root -p (要求输入密码时直接回车即可)

然后就是>use mysql>update user set password=password("输入新的密码") where user="root">flush privileges重新杀掉mysql进程,用正常方法启动mysql,一切OK,大功告成

方法如下:

1、打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址

2、打开cmd命令提示符,进入上一步mysql.exe所在的文件夹。

3、输入命令  mysqld --skip-grant-tables  回车,此时就跳过了mysql的用户验证。注意输入此命令之后命令行就无法 *** 作了,此时可以再打开一个新的命令行。注意:在输入此命令之前先在任务管理器中结束mysqld.exe进程,确保mysql服务器端已结束运行。

4、然后直接输入mysql,不需要带任何登录参数直接回车就可以登陆上数据库。

5、输入show databases  可以看到所有数据库说明成功登陆。

6、其中mysql库就是保存用户名的地方。输入 use mysql  选择mysql数据库。

7、show tables查看所有表,会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息。

8、输入select user,host,password from user  来查看账户信息。

9、更改root密码,输入update user set password=password('123456') where user='root' and host='localhost'

10、再次查看账户信息,select user,host,password from user  可以看到密码已被修改。

11、退出命令行,重启mysql数据库,用新密码尝试登录。

12、测试不带密码登录mysql,发现还是能够登陆上,但显示数据库时只能看到两个数据库了,说明重启之后跳过密码验证已经被取消了。

13、重启数据库之后之所以不带密码任然能够登录是因为数据库里存在设无须口令的账户。

扩展资料:

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。

MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。

MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

1:使用SHOW语句找出在服务器上当前存在的数据库:

mysql>SHOW DATABASES

2:创建一个数据库MYSQLDATA

mysql>CREATE DATABASE MYSQLDATA

3:选择你所创建的数据库

mysql>USE MYSQLDATA(按回车键出现Database changed 时说明 *** 作成功!)

4:查看现在的数据库中存在什么表

mysql>SHOW TABLES

5:创建一个数据库表

mysql>CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1))

6:显示表的结构:

mysql>DESCRIBE MYTABLE

7:往表中加入记录

mysql>insert into MYTABLE values (”hyq”,”M”)

8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)

mysql>LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE

9:导入.sql文件命令(例如D:/mysql.sql)

mysql>use database

mysql>source d:/mysql.sql

10:删除表

mysql>drop TABLE MYTABLE

11:清空表

mysql>delete from MYTABLE

12:更新表中数据

mysql>update MYTABLE set sex=”f” where name=’hyq’

参考资料来源:百度百科:MySQL数据库

首先应该知道Mysql数据库中的口令存储必须用password()函数加密它。因为在user表中是以加密形式存储口令,而不是作为纯文本。如果没有加密,直接在数据库中执行以下语句:

use mysql insert into user (host,user,password) values(%,user_name,your password);

flush privileges;

相信结果不会满意。因为服务器比较的是加密的值,所以服务器连接一定失败。

这里需要说明的是flush privileges;这条命令起到了重新加载授权表。也可以在shell下直接用mysqladmin -u root reload或者mysqladmin -u root flush-privileges来实现重载授权表。

在Mysql环境下,可以使用以下语句进行设置密码:

1 insert into user(host,user,password) values(%,user_name,password("your password");

2 set password for user_name = password("your password")

以上两种方法都必须进行重载授权表。

3 当然也可以在创建一个用户时直接设置密码,grant语句将为你自动加密口令。

如:grant all on *.* to user_name@% identified by "your password";

另外也可以在shell环境下用mysqladmin程序来设置密码。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10007860.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存