MySQL是一個真正的多用戶、多線程SQL數據庫服務器。MySQL是以一個客戶機/服務器結構的實現,它由一個服務器守護程序MySQLd和很多不同的客戶程序和庫組成。由於其源碼的開放性及穩定性,且與網站流行編徎語言PHP的完美結合,現在很多站點都利用其當作後端數據庫,使其獲得了廣泛應用。處於安全方面的考慮,需要為每一用戶賦於對不同數據庫的訪問限制,以滿足不同用戶的要求。下面就分別討論,供大家參考。
一、MySQL修改密碼方法總結
首先要說明一點的是:一般情況下,修改MySQL密碼是需要有MySQL裡的root權限的,這樣一般用戶是無法更改密碼的,除非請求管理員幫助修改。
方法一
使用PHPMyAdmin (圖形化管理MySql數據庫的工具),這是最簡單的,直接用SQL語句修改MySQL數據庫庫的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"gt; INSERT INTO mysql.user (Host,User,Password) valueS ('%','system', PASSWord('manager')); MySQL"gt; FLUSH PRIVILEGES。確切地說這是在增加一個用戶,用戶名為system,密碼為manager。注意要使用PASSWord函數,然後還要使用FLUSH PRIVILEGES來執行確認。
方法四
和方法三一樣,只是使用了REPLACE語句
mysql"gt; REPLACE INTO mysql.user (Host,User,Password) valueS('%','system',PASSWord('manager')); MySQL"gt; FLUSH PRIVILEGES
方法五
使用SET PASSWord語句
MySQL"gt; SET PASSWord FOR system@"quot;%"quot; = PASSWord('manager');
你也必須使用PASSWord()函數,但是不需要使用FLUSH PRIVILEGES來執行確認。
方法六
使用GRANT ... IDENTIFIED BY語句,來進行授權。
MySQL"gt; GRANT USAGE ON *.* TO system@"quot;%"quot; IDENTIFIED BY 'manager';
這裡PASSWord()函數是不必要的,也不需要使用FLUSH PRIVILEGES來執行確認。
注:PASSWord()函數作用是為口令字加密,在程序中MySQL自動解釋。