剛進去mysql的時候,能看到有個數據庫叫mysql,這是系統數據庫,記錄很多系統數據。其中關於用戶的有一張表叫user,記錄關於用戶的各種信息。其中包括(還有一些暫未列出):
host | user | password | select_priv | insert_priv | update_priv | delete_priv | create_priv | drop_priv | grant_priv | index_priv |
host表示主機,user表示用戶名,password是加密過的密碼,後面各種是操作權限(對應SQL語句啦)。
添加一個用戶時候,有兩種方式:
1)直接利用在user表中插入一個用戶,例如:
mysql>insert into user(host, user, password,
-> select_priv, insert_piv, update_priv)
-> values('localhost', 'guest', password('guset123'),
-> 'Y', 'Y', 'Y');
在values中的值一定要用引號括起來,mysql只會把引號中的當作一個完整字段值處理。另外在密碼字段的值一定要用password函數包裝加密。
2)利用授權方式添加一個用戶,例如:
mysql>grant select, insert, update, delete, create, drop
->on database.*
->to 'user'@'host'
->identified by 'password';
表示在database數據庫上,host主機上的user用戶有select、insert、update、delete、create、drop的權利。這也會在mysql數據庫的user表中添加一個用戶記錄。
添加完用戶之後,需要重新加載用戶數據,方便新用戶能夠使用。
mysql>flush privileges;
如果沒有重新加載,那麼新用戶只有等到數據庫重啟才能使用。
一些剛進入數據庫時候常用的數據庫命令:
use database_name; //選擇特定數據庫
show databases; //列舉數據庫系統中的所有數據庫
show tables; //顯示當前數據庫中的表
show columns from table_name; //等同於 describe table_name;
//顯示一個表的所有字段,字段數據類型,是否為鍵值,初始值,是否可以為空,額外信息等
show index from table_name; //顯示一張表上的所有索引,包括主鍵