文章目錄
- 1、首先登入MYSQL的COMMAND控制台
- 2、選擇資料表
- 3、在mysql的user表中增加串連使用者帳號:
- 4、可訪問資料表授權
- 5、生效授權,建立完畢
1、首先登入MYSQL的COMMAND控制台
Mysql安裝後都會帶CMD命令列控制台,如,也可以直接使用CMD命令台,運行mysql安裝目錄bin下的mysql.exe,輸入mysql -u root和密碼即可登入到Mysql。
mysql/bin目錄下的可執行程式及功能一覽如下表(參考官方MYSQL說明):
| mysqld |
MySQL伺服器 |
| mysqld_safe、mysql.server和mysqld_multi |
伺服器啟動指令碼 |
| mysql_install_db |
初始化資料目錄和初始資料庫 |
| mysql |
一個命令列客戶程式,用於互動式或以批處理模式執行SQL語句。 |
| mysqladmin |
用於管理功能的客戶程式。 |
| mysqlcheck |
執行表維護操作。 |
| mysqldump和mysqlhotcopy |
負責Database Backup。 |
| mysqlimport |
匯入資料檔案。 |
| mysqlshow |
顯示資訊資料庫和表的相關資訊。 |
| myisamchk |
執行表維護操作。 |
| myisampack |
產生壓縮、唯讀表。 |
| mysqlbinlog |
是處理二進位記錄檔的工具 + 生產力。 |
| perror |
顯示錯誤碼的含義。 |
2、選擇資料表
語句如下:use mysql;
3、在mysql的user表中增加串連使用者帳號:
這裡不要直接使用INSERT語句添加user記錄,使用INSERT可能出現:
ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value錯誤。不過早期的MYSQL版本筆者倒沒出現這個錯誤,因為天緣一直都是直接修改user表或直接使用INSERT陳述式完成,後來升級MYSQL到5.1的時候,發現可能會出現這個錯誤。
建議使用GRANT語句進行授權,語句如下:
GRANT USAGE ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
上句:
“username”替換為將要授權的使用者名稱,比如clientusr;
“password”替換為clientusr設定的密碼;
4、可訪問資料表授權
建立好帳戶之後,就開始給上面的common user進行資料表授權,步驟3中增加的串連使用者預設許可權都是“N”的,必須在db表中為該帳戶授權,允許其訪問專用資料庫,當然超級使用者就不說了。
使用下面語句:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON tablename.* TO 'username'@'localhost' IDENTIFIED BY 'password';
本語句中的許可權根據實際需要確定:
"tablename"替換為授權訪問的資料表table名
"username"是步驟2授權使用者名
"password"是步驟2授權使用者的設定密碼
這樣就為該使用者授予了對某資料表的SELECT, INSERT, UPDATE, DELETE, CAREATE, DROP許可權。
5、生效授權,建立完畢
一句話即可:FLUSH PRIVILEGES;