『壹』 mysql使用自帶md5加密方式
不是md5吧,mysql是用password函數去加密的,mysql自帶有md5()加密函數的
『貳』 在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
mailto:user_name@
identified
by
"your
password";另外大家也可以在shell環境下用mysqladmin程序來設置密碼。
『叄』 如何在mysql資料庫中加入加密演算法,使得資料庫能夠對資料庫中的數據進行加密。
資料庫一般不會有這種加密處理.資料庫主要職責是查詢和存儲數據
數據加密一般都是通過外圍加密服務處理過後再存到資料庫,職責要區分開,然後再考慮怎麼做
『肆』 MYSQL資料庫密碼欄位臨時加密問題
你是指mysql用戶密碼還是資料庫表裡用戶資料的密碼?
mysql用戶密碼本身就加密過的,資料庫表裡的用戶密碼加密還得通過應用程序來加密和解決,演算法完全可以由你自己來寫。
『伍』 關於Mysql encode加密函數的問題
需要保存加密結果的欄位為BLOB類型;
如下:
CREATE TABLE `tet` (
`title` blob,
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
INSERT INTO tet(title) VALUES(ENCODE('數對密碼欄位進行','abc'));
SELECT * FROM tet;
SELECT DECODE(title,'abc') from tet;
本人在linux上運行結果正常。僅供參考
『陸』 MySQL資料庫下如何為用戶設置密碼
當初次在機器上安裝完Mysql時,你可以匿名進行訪問資料庫或者以不帶口令的root身份進入資料庫.另外如果你是一個管理員,你還要進行一些用戶的建立及授權,這又涉及到設置密碼的問題.下面我們就討論一下如何設置密碼:首先我們應該知道Mysql資料庫中的口令存儲必須用password()函數加密它.因為在user表中是以加密形式存儲口令,而不是作為純文本.如果你沒有加密,直接在資料庫中執行以下語句:use mysqlinsert 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"
『柒』 mysql沒有密碼怎麼設置密碼
方法一:最簡單的方法,也是安裝完mysql後,系統提示的方法。使用mysqladmin來完成。shell> mysqladmin -u root password "newpwd"
shell> mysqladmin -u root -h host_name password "newpwd"password後面的雙引號不是必須的,不過如果密碼包含空格或者一些特殊的符號,需要用引號。方法二:利用mysql裡面的SET PASSWORD命令來完成,注意必須使用PASSWORD()函數來加密設置的這個newpwd,否則直接='newpwd'不會生效。不過如果使用方法一用mysqladmin password設置密碼或者用GRANT來設置,就不用使用PASSWORD()函數,因為它們已經自動調用了該函數。shell> mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd');
方法三:直接通過UPDATE user表來設置密碼shell> mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')
-> WHERE User = 'root';
mysql> FLUSH PRIVILEGES;
如果忘記mysql的root密碼可以採取下面的步驟重新設置
1。kill掉所有mysql的進程
2。使用--skip-grant-tables的參數啟動mysql
shell> mysqld_safe --skip-grant-tables &
3。設置新的密碼,同樣兩種方式可以選擇
方法一
shell> mysqladmin -u root flush-privileges password "newpwd"
方法二
mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd')
-> WHERE User='root';
mysql> FLUSH PRIVILEGES;
4。停止mysql server,用正常的模式啟動
5。OK,可以使用新設置的密碼了
『捌』 mysql 8重置密碼
命令行都要以管理員運行
1:net stop mysql 停止mysql服務
2:mysqld --console --skip-grant-tables --shared-memory 啟動MySQL服務的時候跳過許可權表認證
3:由於上面的命令行被mysql的服務給佔用,我們得重新開啟一個新的命令行
4:在新開的命令行中執行mysql
5:update user set authentication_string = '' where user='root' ; 將root用戶的密碼清空
6:quit 退出,然後在之前的命令行將我們開啟的mysql服務停止掉(Ctrl+C或者關閉命令行),然後執行net start mysql 重新啟動mysql服務
7:在我們之後開啟的命令行中輸入mysql -uroot -p 然後按enter鍵,輸入密碼繼續按enter鍵(這里密碼已經被清空),
8:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼'; 修改密碼
9:退出後,使用新密碼登錄
注意的地方,網上有些給的是使用update命令在第五步直接修改密碼為我們重置的密碼,然後使用flush privileges;命令刷新許可權再退出,重啟mysql服務,然後使用我們重置的密碼重新登陸。然而你會發現登錄會提示密碼不正確,
下面是使用update命令將密碼修改為root
登錄報錯,說明使用update直接修改密碼是不可以的。我們也可以從上面看到update保存的密碼是明文
使用alter命令修改後的密碼是加密的
update 方法保存的為明文是由於沒有使用password()方法,而password()方法在mysql5.7.6版本後已經廢棄了,所以必須alter命令去修改密碼了。
如果在第5步直接使用alter命令去修改密碼也是不可以的,會報錯
說是在免鑒權的情況下不支持這個操作
所以我們必須先清空密碼,然後再使用alter命令修改密碼
ps:mysql5.7.6版本後 廢棄user表中 password欄位 和 password()方法,所以舊方法重置密碼對mysql8.0版本是行不通的,共勉
希望能幫助你,還請及時採納謝謝
『玖』 mysql 資料庫的 登錄密碼的 加密方式是什麼
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位。