ALTER command denied to user 'dev'@'192.168.10.xxx' for table 'xx_fanv_fail'

一:查看账号权限

Mysql 账户权限不足,查看mysql 账户权限

MySQL [(none)]> show grants for dev
    -> ;
+---------------------------------------------------------------------------+
| Grants for dev@%                                                        |
+---------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'dev'@'%'                                         |
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON `TESTDB`.* TO 'dev'@'%' |
| GRANT SELECT ON `TESTDB`.* TO 'dev'@'%'                                |
| GRANT SELECT, INSERT, UPDATE ON `monitor_logs`.* TO 'dev'@'%'           |
+---------------------------------------------------------------------------+
4 rows in set (0.00 sec)

二:修改账号权限

GRANT命令建立新用户、设定用户密码、并增加用户权限。格式如下:

GRANT <privileges> ON <what>  TO <user> [IDENTIFIED BY "<password>"]  [WITH GRANT OPTION];
## 例如:
GRANT ALL PRIVILEGES ON neutron.* TO 'TESTDB'@'localhost'  IDENTIFIED BY '密码';
GRANT ALL PRIVILEGES ON neutron.* TO 'TESTDB'@'%'   IDENTIFIED BY '密码';
grant all on . to root@’%’ identified by '密码';
## 刷新权限
flush privileges;

TESTDB.*   :表示TESTDB数据库中的所有表,授权之前 TESTDB 库要先创建好。如果用*.*表示所有库的所有表
 'TESTDB'@'localhost'  :表示创建的用户名TESTDB,@后面表示允许访问数据的客户端,'localhost' 表示本机,'%'表示所有主机


<privileges>是一个用逗号分隔的你想要赋予的MySQL用户权限的列表。你可以指定的权限可以分为三种类型:

1、数据库/数据表/数据列权限:
Alter: 修改已存在的数据表(例如增加/删除列)和索引。
Create: 建立新的数据库或数据表。
Delete: 删除表的记录。
Drop: 删除数据表或数据库。
INDEX: 建立或删除索引。
Insert: 增加表的记录。
Select: 显示/搜索表的记录。
Update: 修改表中已存在的记录。
mysql>grant select,insert,delete,create,drop  on *.* (或TESTDB.*其它库或表) to '用户名'@'localhost'  identified by ‘密码’;

grant Alter on `TESTDB`.* TO 'dev'@'%';
flush privileges;

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

3、特殊的权限:
ALL: 允许做任何事(和root一样)。
USAGE: 只允许登录--其它什么也不允许做。


 


 

发布了50 篇原创文章 · 获赞 5 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/H_Rhui/article/details/101287518