Mysql 账户权限/授权/限定/ip地址

ALTER command denied to user 'dev'@'192.168.10.2' for table 'devapi'

一:检查用户权限

SHOW GRANTS FOR 'devapi'@'%';

二:删除权限

删除权限:
REVOKE ALL PRIVILEGES ON devapi. FROM 'devapi'@'%';
或者:REVOKE ALL PRIVILEGES ON devapi. FROM 'devapi'@'localhost';
FLUSH PRIVILEGES;

三:修改账号权限

  1. create database devtest charset utf8mb4 collate utf8mb4_general_ci;
  2. use devtest;
  3. CREATE USER 'test'@'localhost' IDENTIFIED BY '密码';
  4. CREATE USER 'test'@'%' IDENTIFIED BY '密码';
  5. GRANT ALL PRIVILEGES ON devtest.* TO 'test'@'localhost';
  6. GRANT ALL PRIVILEGES ON devtest.* TO 'test'@'%';
  7. flush privileges;
  8. 注意:密码要有特殊符号,要不然后会提示:
  9. Your password does not satisfy the current policy requirement
  10. #### 只读数据库权限
  11. grant select on 数据库名.表名 to 'TESTDB'@'%' identified by 'xxx';
  12. 例如:grant select on *.* to 'TESTDB'@'%' identified by 'xxx';
  13. flush privileges;
  14. 注意:密码要有特殊符号,要不然后会提示:
  15. Your password does not satisfy the current policy requirement

用户权限三种类型:

1、数据库/数据表/数据列权限:

Alter: 修改已存在的数据表(例如增加/删除列)和索引。
Create: 建立新的数据库或数据表。
Delete: 删除表的记录。
Drop: 删除数据表或数据库。
INDEX: 建立或删除索引。
Insert: 增加表的记录。
Select: 显示/搜索表的记录。
Update: 修改表中已存在的记录。

2、全局管理MySQL用户权限:

file: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。

3、特殊的权限:

ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录—其它什么也不允许做。