mysql管理(轉(zhuǎn)載)
對(duì)不起作者,出處本來復(fù)制下來了,一不小心找不到了.MySQL常用指令及帳戶管理
初始化mySQL
進(jìn)入mysql這database,再設(shè)定您的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 命令會(huì)將user這table內(nèi)root這個(gè)用戶的密碼重新記錄。
為了系統(tǒng)的安全,建議刪除空帳戶:
mysql> DELETE FROM user WHERE User = '';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
即時(shí)更新上述作出的更改:
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
這時(shí)可以離開MySQL,再試試新的密碼:
mysql> exit
Bye
一些常用指令
新增資料庫(kù)
在操作系統(tǒng)的命令行裡,打入
mysql> create 資料庫(kù)名稱
檢視現(xiàn)有資料庫(kù)
你可以看看剛才新建的資料庫(kù)是否真的存在(假設(shè)剛才新資料庫(kù)叫test):
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)
進(jìn)入資料庫(kù)
mysql> USE 資料庫(kù)名稱
檢視資料庫(kù)內(nèi)的資料表
mysql> SHOW TABLES;
假如你剛才執(zhí)行了USE mysql,那麼結(jié)果將會(huì)是這樣子
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv |
| db |
| func |
| host |
| tables_priv |
| user |
+-----------------+
6 rows in set (0.00 sec)
刪除資料庫(kù)
mysql> drop 資料庫(kù)名稱
關(guān)閉MySQL服務(wù)
mysql> shutdown
基本帳戶管理
新增新用戶(方法一)
mysql> INSERT INTO user VALUES('hostname','username',password('passwd'),'y','y','y','y','y','y','y','y','y','y','y','y','y','y');
hostname:該用戶登入連線來源的主機(jī)完整名稱,本機(jī)使用者鍵入localhost
username:新用戶的登入名稱
passwd:代表新用戶的密碼
後面是十四項(xiàng)用戶的權(quán)限選項(xiàng),可以是'y'或'n',十四個(gè)選項(xiàng)依次序?yàn)椋?br />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
新增新用戶(方法二,建議使用)
以下命令可用來更新現(xiàn)有帳號(hào)資料或創(chuàng)建新帳號(hào):
mysql> GRANT 權(quán)限 ON 資料庫(kù)(或資料表) TO username@hostname IDENTIFIED BY 'passwd';
權(quán)限共有3類如下:
對(duì)資料庫(kù)(Datebase),有十五種權(quán)限:
ALL PRIVILEGES ALTER CREATE DELETE DROP
FILE INDEX INSERT PROCESS REFERENCES
RELOAD SELECT SHUTDOWN UPDATE USAGE
對(duì)資料表(Table)則只有八種權(quán)限:
SELECT INSERT UPDATE DELETE CREATE
DROP INDEX ALTER
對(duì)資料欄(column)則只有三種權(quán)限:
SELECT INSERT UPDATE
關(guān)於username@hostname:
例:leehc2@mail.itzone.info 表示是來自mail.itzone.info主機(jī)的leehc2用戶。可使用萬用字元,但必須加上括號(hào),例:('lee%'@'%.itzone.info')表示從.itzone.info網(wǎng)域來的lee開頭的帳戶。
除管理人員外,一般帳號(hào)盡量避免設(shè)定全部權(quán)限開啟,只開啟SELECT、INSERT、UPDATE三項(xiàng)權(quán)限已足夠;進(jìn)階的用戶可加開DELETE、CREAT、DROP、INDEX四項(xiàng)權(quán)限;其餘權(quán)限盡量不用開啟,以確保整個(gè)MySQL的安全性。
ext:
1. 新增來自host的帳號(hào)user,並給予全部權(quán)限
mysql> GRANT ALL PRIVILEGES ON *.* TO user@host IDENTIFIED BY 'passwd';
2. 新增來自host的帳號(hào)user,並指定datab_name資料庫(kù)與特定權(quán)限給該帳號(hào)
mysql> GRANT SELECT,INSERT,UPDATE ON datab_name.* TO user@host IDENTIFIED BY 'passwd';
刪除使用者帳號(hào)與權(quán)限
mysql> REVOKE 權(quán)限 ON 資料庫(kù)(或資料表) FROM username@hostname IDENTIFIED BY 'passwd';
這命令會(huì)將帳號(hào)的相關(guān)權(quán)限關(guān)閉,但不會(huì)做Delete的動(dòng)作,真要?jiǎng)h除帳戶便要用DELETE命令。
立即執(zhí)行更新
mysql> FLUSH PRIVILEGES;
posted on 2006-09-20 21:26 dreamstone 閱讀(231) 評(píng)論(0) 編輯 收藏 所屬分類: 片段