# 用戶創建、權限、刪除操作
## 連接MySQL操作
> **mysql -h 主機地址 -u 用戶名 -p 用戶密碼**
> 注:-u與root可以不用加空格,其它參數也一樣。
### DEMO
打開電腦CMD,輸入
```
mysql -h 127.0.0.1 -u root -p
```
回車,然后輸入密碼。就可以連接到本地的MySQL數據庫。

## 創建MySQL用戶
> **CREATE USER 'username'@'host' IDENTIFIED BY 'password';**
**說明**
1. username - 你將創建的用戶名,
2. host - 指定該用戶在哪個主機上可以登陸,如果是本地用戶可用localhost, 如果想讓該用戶可以從任意遠程主機登陸,可以使用通配符%.
3. password - 該用戶的登陸密碼,密碼可以為空,如果為空則該用戶可以不需要密碼登陸服務器。
### DEMO
```
CREATE USER 'test'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'test'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATE USER 'test'@'%' IDENTIFIED BY '123456';
CREATE USER 'test'@'%' IDENTIFIED BY '';
CREATE USER 'test'@'%';
```

## 授權用戶操作權限
> **GRANT privileges ON databasename.tablename TO 'username'@'host';**
1. privileges - 用戶的操作權限,如SELECT , INSERT , UPDATE 等(詳細列表見該文最后面).如果要授予所的權限則使用ALL.;
2. databasename - 數據庫名;
3. tablename-表名,如果要授予該用戶對所有數據庫和表的相應操作權限則可用*表示, 如*.*。
### DEMO
```
GRANT SELECT, INSERT ON school.* TO 'test' @'%';
GRANT ALL ON *.* TO 'test'@'%';
```
> 用以上命令授權的用戶不能給其它用戶授權,如果想讓該用戶可以授權,用以下命令:
> GRANT privileges ON databasename.tablename TO 'username'@'host' **WITH GRANT OPTION;**
## 撤銷用戶權限
> **REVOKE privilege ON databasename.tablename FROM 'username'@'host';**
1. privileges - 用戶的操作權限,如SELECT , INSERT , UPDATE 等(詳細列表見該文最后面).如果要授予所的權限則使用ALL.;
2. databasename - 數據庫名;
3. tablename-表名,如果要授予該用戶對所有數據庫和表的相應操作權限則可用*表示, 如*.*。
### DEMO
~~~
REVOKE SELECT ON *.* FROM 'test'@'%';
~~~
> 假如你在給用戶'test'@'%'授權的時候是這樣的(或類似的):`GRANT SELECT ON test.user TO 'test'@'%'`, 則在使用`REVOKE SELECT ON *.* FROM 'test'@'%'`;命令并不能撤銷該用戶對test數據庫中user表的SELECT 操作;
> 相反,如果授權使用的是`GRANT SELECT ON *.* TO 'test'@'%'`;則`REVOKE SELECT ON test.user FROM 'test'@'%'`;命令也不能撤銷該用戶對test數據庫中user表的SELECT權限。
另外 具體信息可以用命令`SHOW GRANTS FOR 'test'@'%';`查看。
## 設置與更改用戶密碼
> **SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');**
> **SET PASSWORD = PASSWORD("newpassword");** # 如果是當前登陸用戶
### DEMO
```
SET PASSWORD FOR 'test'@'%' = PASSWORD("aaaaaa");
```

## 刪除用戶
>**DROP USER 'username'@'host';**
- 寫在前面
- MySQL的使用
- MySQL多表同時刪除方案
- MySQL跨表、多表更新SQL語句總結
- MySQL存儲引擎
- 安裝
- 常規方式編譯安裝MySQL
- 采用cmake方式編譯安裝MySQL
- 使用rpm包安裝MySQL
- 使用yum方式安裝MySQL
- 采用二進制方式免編譯安裝MySQL
- 多實例的安裝
- 什么是多實例
- 多實例的作用、問題以及應用場景
- 多實例安裝01【推薦】
- 多實例官方安裝方案02
- 啟動、用戶和權限管理
- 單實例MySQL的啟動和關閉的方法
- 設置及修改MySQL root用戶密碼
- 找回丟失的MySQL root用戶密碼
- 創建MySQL用戶及用戶權限管理
- 基礎命令的操作
- MySQL庫和表相關操作
- MySQL中的索引操作
- MySQL常用命令
- MySQL的錯誤代碼
- MySQL復習秘籍
- 備份與恢復
- 備份
- 恢復
- mysqlbinlog命令
- 服務日志
- 主從復制
- 主從復制部署配置問題匯總
- 主從復制讀寫分離
- 災難恢復
- 配置phpmyadmin連接多實例MySQL
- 其他相關
- Sphinx實驗
- 中文分詞技術
- MySQL語句大全
- 用戶創建、權限、刪除
- 數據庫與表顯示、創建、刪除
- 表復制及備份還原
- 數據庫表中數據操作
- 修改表的列與表名
- 修改表中的數據
- 查詢表
- 日志
- 批量修改Mysql表引擎為InnoDB的方法
- 數據庫抽象層 PDO
- PDO對象常用方法
- PDO 事務處理
- PDO 與 MySQLi 二者效率簡單比較
- 大小寫敏感性 lower_case_table_names
- CentOS7安裝MySQL5.7密碼查看與修改