若何设置MYSQL的口令[MySQL防范]
本文“若何设置MYSQL的口令[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
当你利用
INSERT
或UPDATE
语句存储一个非空的口令时,你必须利用PASSword()
函数加密它.这是因为在user
表中以加密情势存储口令,而不是作为纯文本.假如你忘掉这个事实,你大概像这样试图设置口令:
shell> MySQL -u root mysql
mysql> INSERT INTO user (Host,User,Password) VALUES('%','jeffrey','biscuit');
mysql> FLUSH PRIVILEGES
后果是纯文本值'biscuit'
作为口令被存储在user
表中.在用户jeffrey
试图用这个口令衔接服务器时,mysql
客户用PASSWORD()
加密它并且将后果送给服务器,服务器对比在user
表中的值(它是纯文本值'biscuit'
)和加密的口令(而不是 'biscuit'
),对比失利并且服务器回绝衔接:
shell> mysql -u jeffrey -pbiscuit test
Access denied
因为当他们被插入user
表时,口令必须被加密,相反,INSERT
语句应当象这样被指定:
mysql> INSERT INTO user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
当你利用SET PASSWORD
语句时,你也必须利用PASSWORD()
函数:
mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');
假如你利用GRANT ... IDENTIFIED BY
语句或mysqladmin password
号令设置口令,PASSWORD()
函数是不必要的.他们都考虑到为你加密口令,多以你可像这样指定一个口令'biscuit'
:
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';
或 shell> mysqladmin -u jeffrey password biscuit
注意: PASSWORD()
不差别于Unix口令加密办法.
以上是“若何设置MYSQL的口令[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |