mysql管理

mysql管理(转载)

对不起作者,出处本来复制下来了,一不小心找不到了.

MySQL常用指令及帳戶管理

初始化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> create 資料庫名稱

檢視現有資料庫

你可以看看剛才新建的資料庫是否真的存在(假設剛才新資料庫叫test):
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)

刪除資料庫

mysql> drop 資料庫名稱

關閉MySQL服務

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:該用戶登入連線來源的主機完整名稱,本機使用者鍵入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:
例:[email protected] 表示是來自mail.itzone.info主機的leehc2用戶。可使用萬用字元,但必須加上括號,例:('lee%'@'%.itzone.info')表示從.itzone.info網域來的lee開頭的帳戶。

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

ext:
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;

你可能感兴趣的:(mysql管理)