AdSense

搜尋此網誌

載入中...

本站大事記

這個部落格(網站)內容以分享LINUX和延伸出的技術文章為主!
特別是為了工作和進修需要,搜集了不少網站連結。
希望對來這裡觀文的朋友們,有提供一些有用的資訊或文章。
但這裡的文章中,也包含個人的心情扎記和隨興言談……
若是當中沒有對上你的口味,請多包涵!


2012年五月……荒廢了快一年的部落格,重新收拾心情,再次定位,更新之~

2009年4月11日星期六

手動新增一個mysql帳號

MySQL剛裝好也有個root帳號來做管理用。
不過,可以的話,我們還是另建管理帳號來代理root吧。

CREATE USER 'bullock'@'%' IDENTIFIED BY '***';

GRANT ALL PRIVILEGES ON * . * TO 'bullock'@'%' IDENTIFIED BY '***'
WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;



CREATE USER 'bullock'@'localhost' IDENTIFIED BY PASSWORD '*20530A1F9D6C99E3731DD458DC80480713F66BEF';

GRANT ALL PRIVILEGES ON * . * TO 'bullock'@'localhost' IDENTIFIED BY PASSWORD '*20530A1F9D6C99E3731DD458DC80480713F66BEF'
WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;


初始設定MySQL
安裝MySQL之後,假設MySQL已經安裝完成並順利運行,在命令行中鍵入:

> mysql -uroot


這樣會第一次進入MySQL環境,這時,進入mysql這database,再設定您的MySQL root密碼了:

mysql> USE mysql;
Database changed
mysql> UPDATE user SET password=password('AbCdEfG') WHERE user='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0

UPDATE 命令會將user這table內root這個用戶的密碼重新記錄。

為了系統的安全,建議刪除空帳戶:

mysql> DELETE FROM user WHERE User = '';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0


即時更新上述作出的更改:

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)


這時可以離開MySQL,再試試新的密碼:

mysql> exit
Bye

> mysql mysql -uroot -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7 to server version: 4.0.20a-nt

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>


這樣便應該成功了,設定好root密碼以後,進入mysql便得用如上面的指令方式:
> mysql 資料庫名稱 -u使用者名稱 -p
留意 -u後面不應該有空格。


一些常用指令
新增資料庫
在操作系統的命令行裡,打入

> mysqladmin -uroot -p根帳戶密碼 create 資料庫名稱



檢視現有資料庫
你可以看看剛才新建的資料庫是否真的存在(假設剛才新資料庫叫test):
先用mysql mysql -uroot -p如常進入mysql,再鍵入

mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)



進入資料庫
mysql> USE 資料庫名稱



檢視資料庫內的資料表
mysql> SHOW TABLES;

假如你剛才執行了USE mysql,那麼結果將會是這樣子

+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv |
| db |
| func |
| host |
| tables_priv |
| user |
+-----------------+
6 rows in set (0.00 sec)



刪除資料庫
在操作系統的命令行裡,打入

> mysqladmin -uroot -p根帳戶密碼 drop 資料庫名稱



關閉MySQL服務
> mysqladmin -uroot -p根帳戶密碼 shutdown



基本帳戶管理
先用mysql mysql -uroot -p如常進入mysql……


新增新用戶 (方法一)
mysql> INSERT INTO user VALUES('hostname','username',password('passwd'),'y','y','y','y','y','y','y','y','y','y','y','y','y','y');

hostname:該用戶登入連線來源的主機完整名稱,本機使用者鍵入localhost
username:新用戶的登入名稱
passwd:代表新用戶的密碼
後面是十四項用戶的權限選項,可以是'y'或'n',十四個選項依次序為:
1.Select_priv 2.Insert_priv 3.Update_priv 4.Delete_priv 5.Index_priv
6.Alter_priv 7.Create_priv 8.Drop_priv 9.Grant_priv 10.References_priv
11.Reload_priv 12.Shutdown_priv 13.Process_priv 14.File_priv



新增新用戶 (方法二,建議使用)
以下命令可用來更新現有帳號資料或創建新帳號:

mysql> GRANT 權限 ON 資料庫(或資料表) TO username@hostname IDENTIFIED BY 'passwd';

權限共有3類如下:

對資料庫(Datebase),有十五種權限:
ALL PRIVILEGES ALTER CREATE DELETE DROP
FILE INDEX INSERT PROCESS REFERENCES
RELOAD SELECT SHUTDOWN UPDATE USAGE
對資料表(Table)則只有八種權限:
SELECT INSERT UPDATE DELETE CREATE
DROP INDEX ALTER
對資料欄(column)則只有三種權限:
SELECT INSERT UPDATE
關於username@hostname:
和方法一相同意義,例:leehc2@mail.itzone.info 表示是來自mail.itzone.info主機的leehc2用戶。可使用萬用字元,但必須加上括號,例:('lee%'@'%.itzone.info')表示從.itzone.info網域來的lee開頭的帳戶。

除管理人員外,一般帳號盡量避免設定全部權限開啟,只開啟SELECT、INSERT、UPDATE三項權限已足夠;進階的用戶可加開DELETE、CREAT、DROP、INDEX四項權限;其餘權限盡量不用開啟,以確保整個MySQL的安全性。

例子示範:
1. 新增來自host的帳號user,並給予全部權限

mysql> GRANT ALL PRIVILEGES ON *.* TO user@host IDENTIFIED BY 'passwd';

2. 新增來自host的帳號user,並指定datab_name資料庫與特定權限給該帳號

mysql> GRANT SELECT,INSERT,UPDATE ON datab_name.* TO user@host IDENTIFIED BY 'passwd';



刪除使用者帳號與權限
mysql> REVOKE 權限 ON 資料庫(或資料表) FROM username@hostname IDENTIFIED BY 'passwd';

這命令會將帳號的相關權限關閉,但不會做Delete的動作,真要刪除帳戶便要用DELETE命令。


立即執行更新
mysql> FLUSH PRIVILEGES;

0 意見:

圖示集

原「琳娜絲與希斯寇的邂逅」,改名為「愛上琳娜絲」!

原「琳娜絲與希斯寇的邂逅」,改名為「愛上琳娜絲」!
--原序文--
就是當LINUX遇上CISCO啦!他們的結合還能作什麼事…不就是讓這個世界的網路,串…串起來啊…不然你們那能上這網站看部落格!