原文地址:https://www.douyacun.com/article/83db0afa5bae2cf936aea5a5d8ea408e
第一种方式:
grant all privileges 
    -> on *.* to 'liuning'@'%'      // on 将数据库中的表授权给刘宁   % 表示任意地点可以登录
    -> identified by '123456'       // 指定密码验证
    -> with grant option            // 授权资源限制
    
第二种方式:
insert into user
->  values('localhost','liuning',password('123456'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
FLUSH PRIVILEGES;   // 重载授权表
第一种方式:
grant select,update,insert,delete,drop
->  on  demo.*                  # 授权liuning demo数据库中的所有表
->  to  'liuning'@'locahost'    # 只能本机登录
->  identified by '123456'
第二种方式:
insert into user (Host,User,Password)
->  values('douyacun.cn','liuning',password('123456'));
flush privileges;
grant select,update,insert,delete,drop,create
on `byidb`.`other*`
to "aiqiyi"@"%" identified by '123456';
GRANT ALL ON customer.* TO 'francis'@'localhost'
    ->     IDENTIFIED BY 'frank'
    ->     WITH MAX_QUERIES_PER_HOUR 20        // 账户每小时可以发出的查询数
    ->          MAX_UPDATES_PER_HOUR 10        // 账户每小时可以发出的更新数
    ->          MAX_CONNECTIONS_PER_HOUR 5     // 账户每小时可以连接服务器的次数
    ->          MAX_USER_CONNECTIONS 2;        // 表示账户一次可以同时连接的最大连接数
    
要想设置或更改已有账户的限制,在全局级别使用GRANT USAGE语句(在*.*)。下面的语句可以将francis的查询限制更改为100:
    
    mysql> GRANT USAGE ON *.* TO 'francis'@'localhost'
        ->     WITH MAX_QUERIES_PER_HOUR 100;
mysqladmin -u root -h "%" password "123456"
或者
SET PASSWORD FOR 'jeffrey'@'%' = PASSWORD('biscuit');
show grants for 'liuning'@'%';
| 权限 | 列 | 上下文 | 
|---|---|---|
| create | Create_priv | 数据库、表或索引 创建新数据库和表, | 
| drop | DROP | 数据库、表 或删除(移掉)已有数据库和表 | 
| grant option | Grant_priv | 数据库、表或保存的程序 允许你把你自己拥有的那些权限授给其他的用户。可以用于数据库、表和保存的程序。 | 
| REFERENCES | References_priv | 数据库或表 | 
| alter | Alter_priv | 表 更改表的结构和重新命名表。 | 
| delte | Delete_priv | 表 | 
| index | INDEX_priv | 表 允许创建或删除索引 | 
| insert | Insert_priv | 表 | 
| select | Select_priv | 表 | 
| update | Update_priv | 表 | 
| create view | Create_view_priv | 视图 | 
| show view | Show_view_priv | 视图 | 
| alter routine | Alter_routine_priv | 保存的程序 更改和删除保存的程序 | 
| create routine | Create_routine_priv | 保存的程序 创建保存的程序(函数和程序) | 
| execute | Execute_priv | 保存的程序 执行保存的程序 | 
| file | FILE_priv | 服务器主机上的文件访问 你用LOAD DATA INFILE和SELECT ... INTO OUTFILE语句读和写服务器上的文件 | 
| create temporary tables | Create_tmp_table_priv | 服务器管理 | 
| lock tables | Lock_tables_priv | 服务器管理 | 
| create user | Create_user_priv | 服务器管理 | 
| provess | PROCESS_priv | 服务器管理 processlist | 
| relaod | reload_priv | 服务器管理 允许执行 flush-hosts, flush-logs, flush-privileges, flush-status, flush-tables, flush-threads, refresh, reload | 
| replication client | Repl_client_priv | 服务器管理 | 
| replication slave | Repl_slave_priv | 服务器管理 | 
| show databases | Show_db_priv | 从服务器管理 | 
| shutdown | Shutdown_priv | 服务器管理 shutdown | 
| super | Super_priv | 服务器管理 kill | 
| usage | 0 | 创建用户不给于任何权限 | 
服务器基于你的身份以及你是否能通过供应正确的密码验证身份来接受或拒绝连接。如果不是,服务器完全拒绝你的访问,否则,服务器接受连接,然后进入阶段2并且等待请求。
mysql> grant select, insert, update, delete, create view, show view
->  on yar.*
->  to 'liuning'@'%'
->  identified by '123456';
mysql> show grants for 'liuning'@'%';
mysql> revoke all
-> on yar.*
-> from 'liuning'@'%';