mysql数据库密码加密方式有几种

mysql数据库密码加密方式有几种,第1张

MySQL数据库的认证密码有两种方式,

MySQL 4.1版本之前是MySQL323加密,MySQL 4.1和之后的版本都是MySQLSHA1加密,

MySQL数据库中自带Old_Password(str)和Password(str)函数,它们均可以在MySQL数据库里进行查询,前者是MySQL323加密,后者是MySQLSHA1方式加密。

(1)以MySQL323方式加密

select  old_password('111111')

(2)以MySQLSHA1方式加密

select password('111111')

MYSQL323加密中生成的是16位字符串,而在MySQLSHA1中生存的是41位字符串,其中*是不加入实际的密码运算中,通过观察在很多用户中都携带了"*",在实际破解过程中去掉"*",也就是说MySQLSHA1加密的密码的实际位数是40位。

当初次在机器上安装完Mysql时,你可以匿名进行访问数据库或者以不带口令的root身份进入数据库.另外如果你是一个管理员,你还要进行一些用户的建立及授权,这又涉及到设置密码的问题.下面我们就讨论一下如何设置密码: 首先我们应该知道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程序来设置密码 如 mysqladmin -u root password "your password"

一、密码的修改:使用mysqladmin命令

1、例如你的 root用户现在没有密码,你希望的密码修改为abc,那么命令是:mysqladmin -u root password abc

2、如果你的root现在有密码了,那么修改密码为abc的命令是:mysqladmin -u root -p password youyou

注意,命令回车后会问你旧密码,输入旧密码之后命令完成,密码修改成功。

二、密码的消除

1、以root登录:mysql -u root -p

2、mysql>use mysql

3、mysql>update user set password='' where user='root'

重新启动下mysql服务就可以啦。


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

原文地址: https://outofmemory.cn/zaji/8498917.html

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

发表评论

登录后才能评论

评论列表(0条)

保存