共計 2604 個字符,預計需要花費 7 分鐘才能閱讀完成。
本篇文章為大家展示了 MySQL 中怎么實現修改密碼及訪問限制設置,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
MySQL 是一個真正的多用戶、多線程 SQL 數據庫服務器。MySQL 是以一個客戶機 / 服務器結構的實現,它由一個服務器守護程序 mysqld 和很多不同的客戶程序和庫組成。由于其的開放性及穩定性,且與網站流行編 揮镅 PHP 的完美結合,現在很多站點都利用其當作后端數據庫,使其獲得了廣泛應用。處于安全方面的考慮,需要為每一用戶賦于對不同數據庫的訪問限制,以滿足不同用戶的要求。下面就分別討論,供大家參考。
一、MySQL 修改密碼方法總結
首先要說明一點的是:一般情況下,修改 MySQL 密碼是需要有 mysql 里的 root 權限的,這樣一般用戶是無法更改密碼的,除非請求管理員幫助修改。
方法一
使用 MyAdmin
(圖形化管理 MySql 的工具),這是最簡單的,直接用 SQL 語句修改數據庫庫的 user 表,不過別忘了使用 PASSWORD 函數,插入用戶用 Insert 命令,修改用戶用 Update 命令,刪除用 Delete 命令。在本節后面有數據表 user 字段的詳細介紹。
方法二
使用 mysqladmin。輸入
mysqladmin -u root -p oldpassword newpasswd
執行這個命令后,需要輸入 root 的原密碼,這樣 root 的密碼將改為 newpasswd。同樣,把命令里的 root 改為你的用戶名,你就可以改你自己的密碼了。
當然如果你的 mysqladmin 連接不上 mysql
server,或者你沒有辦法執行 mysqladmin,那么這種方法就是無效的,而且 mysqladmin 無法把密碼清空。
下面的方法都在 mysql 提示符下使用,且必須有 mysql 的 root 權限:
方法三
mysql INSERT INTO mysql.user (Host,User,Password) VALUES
(%,system, PASSWORD(manager));
mysql FLUSH PRIVILEGES
確切地說這是在增加一個用戶,用戶名為 system,密碼為 manager。注意要使用 PASSWORD 函數,然后還要使用 FLUSH
PRIVILEGES 來執行確認。
方法四
和方法三一樣,只是使用了 REPLACE 語句
mysql REPLACE INTO mysql.user (Host,User,Password)
VALUES(%,system,PASSWORD(manager));
mysql FLUSH PRIVILEGES
方法五
使用 SET PASSWORD 語句
mysql SET PASSWORD FOR system@ % = PASSWORD(manager);
你也必須使用 PASSWORD()函數,但是不需要使用 FLUSH PRIVILEGES 來執行確認。
方法六
使用 GRANT … IDENTIFIED BY 語句,來進行授權。
mysql GRANT USAGE ON *.* TO system@ % IDENTIFIED BY manager;
這里 PASSWORD()函數是不必要的,也不需要使用 FLUSH PRIVILEGES 來執行確認。
注:PASSWORD()函數作用是為口令字加密,在程序中 MySql 自動解釋。
二、MySql 中訪問限制的設置方法
我們采用兩種方法來設置用戶。
進入到 Mysql 執行目錄下(通常是 c:mysqlin)。輸入 mysqld-shareware.exe,輸入 mysql
–user=root mysql , 不然不能添加新用戶。進入到 mysql 提示符下進行操作。
假設我們要建立一個超級用戶,用戶名為 system,用戶口令為 manager。
方法一
用 Grant 命令授權,輸入的代碼如下:
mysql GRANT ALL PRIVILEGES ON *.* TO system@localhost IDENTIFIED BY
manager WITH GRANT OPTION;
應顯示:Query OK, 0 rows affected (0.38 sec)
方法二
對用戶的每一項權限進行設置:
mysql INSERT INTO user
VALUES(localhost,system,PASSWORD(manager),
Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y);
對于 3.22.34 版本的 MySQL, 這里共 14 個 Y , 其相應的權限如下(按字段順序排列):
權限 表列名稱 相應解釋 使用范圍
select Select_priv 只有在真正從一個表中檢索時才需要 select 權限 表
insert Insert_priv 允許您把新行插入到一個存在的表中 表
update Update_priv 允許你用新值更新現存表中行的列 表
delete Delete_priv 允許你刪除滿足條件的行 表
create Create_priv 允許你創建新的數據庫和表 數據庫、表或索引
drop Drop_priv 拋棄 (刪除) 現存的數據庫和表 數據庫或表
reload Reload_priv 允許您告訴服務器再讀入授權表 服務器管理
shutdown Shutdown_priv 可能被濫用(通過終止服務器拒絕為其他用戶服務) 服務器管理
process Process_priv 允許您察看當前執行的查詢的普通文本, 包括設定或改變口令查詢 服務器管理
file File_priv 權限可以被濫用在服務器上讀取任何可讀的文件到數據庫表 服務器上的文件存取
grant Grant_priv 允許你把你自己擁有的那些權限授給其他的用戶 數據庫或表
references References_priv 允許你打開和關閉記錄文件 數據庫或表
index Index_priv 允許你創建或拋棄 (刪除) 索引 表
alter Alter_priv 允許您改變表格, 可以用于通過重新命名表來推翻權限系統 表
如果創建用戶時只有 select、insert、update 和 delete 權限, 則允許用戶只能在一個數據庫現有的表上實施操作.
下面就可以創建我們要用到的數據庫了, 我們直接輸入. 例如:我們要創建數據庫名為 XinXiKu,可用如下代碼:
mysql create database XinXiKu;
應顯示:Query OK, 1 row affected (0.00 sec)
上述內容就是 MySQL 中怎么實現修改密碼及訪問限制設置,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注丸趣 TV 行業資訊頻道。