在Windows命令行下修改mysql數(shù)據(jù)庫密碼步驟如下:
我們提供的服務(wù)有:成都網(wǎng)站制作、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、海晏ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的海晏網(wǎng)站制作公司
1、通過dos命令進入mysql的bin目錄;
2、輸入“mysql
-uroot
-p”,回車進入mysql命令狀態(tài);
3、如果root原來有密碼,mysql將提示輸入原密碼,再進入mysql命令狀態(tài);
4、這里假設(shè)將root用戶密碼修改為mysql56,則在mysql命令狀態(tài)下輸入:
update
mysql.user
set
password=PASSWORD('mysql56')
where
user='root';
提示Query
OK,說明已更新。
5、輸入FLUSH
PRIVILEGES;來保存修改內(nèi)容,在mysql命令狀態(tài)下輸入:
FLUSH
PRIVILEGES;回車
至此,密碼修改完成。
假如你是一個管理員,
你還要進行一些用戶的建立及授權(quán),這又涉及到設(shè)置密碼的問題.下面我們就討論一下如何設(shè)置密碼:
首先我們應(yīng)該知道Mysql數(shù)據(jù)庫中的口令存儲必須用password()函數(shù)加密它.因為在user表中是以加密形式存儲口令,而不是作為純文本.如果你沒有加密,直接在數(shù)據(jù)庫中執(zhí)行以下語句:
use
mysql
insert
into
user
(host,user,password)
values
('%','user_name','your
password');
flush
privileges;相信結(jié)果不會讓你滿意.因為服務(wù)器比較的是加密的值,所以服務(wù)器連接一定失敗.這里需要說明的是flush
privileges;這條
命令起到了重新加載授權(quán)表.你也可以在shell下直接用mysqladmin
-u
root
reload或者mysqladmin
-u
root
flush-privileges來
實現(xiàn)重載授權(quán)表.
在MySQL環(huán)境下,你可以使用以下語句進行設(shè)置密碼:
1.insert
into
user(host,user,password)
values('%','user_name',password("your
password");
2.set
password
for
user_name
=
password("your
password")以上兩種方法都必須進行重載授權(quán)表.
3.當然你也可以在創(chuàng)建一個用戶時直接設(shè)置密碼,grant語句將為你自動加密口令.
示例:
grant
all
on
*.*
to
mailto:user_name@
identified
by
"your
password";另外大家也可以在shell環(huán)境下用mysqladmin程序來設(shè)置密碼。
首先,先介紹下加密函數(shù),PASSWORD(string)函數(shù)可以對字符串string進行加密,代碼如下:
SELECT
PASSWORD('you');
如下圖所示:
執(zhí)行第一步的SQL語句,查詢結(jié)果是一串字符串,并且PASSWORD(string)函數(shù)加密是不可逆轉(zhuǎn),
如下圖所示:
另外一個加密函數(shù)MD5(string),主要針對普通的數(shù)據(jù)進行加密,代碼如下:
SELECT
MD5('hai');
如下圖所示:
最后一個加密函數(shù)ENCODE(string,pass),可以使用字符串pass來加密字符串string。首先要創(chuàng)建一個數(shù)據(jù)庫表t_pass_info,代碼如下:
CREATE
TABLE
t_pass_info(
id
int(10),
pass_info
blob
);
如下圖所示:
然后,向這個數(shù)據(jù)庫表插入一條數(shù)據(jù),代碼如下:
INSERT
INTO
t_pass_info(id,pass_info)
VALUES
(1,ENCODE('dong','bb'));
如下圖所示:
6
查看插入數(shù)據(jù)庫表t_pass_info記錄,代碼如下:
SELECT
*
FROM
t_pass_info;
如下圖所示:
7
MySQL自帶還有一個解密函數(shù)DECODE(str,pass_str),可以使用字符串pass_str來為str解密,代碼如下:
SELECT
DECODE(ENCODE('dong','aa'),'aa');
如下圖所示: