由于换了ip,无法访问mysql,重新授权1.重新授权
mysql> select * from user \G;
*************************** 11. row ***************************
Host: 192.168.1.7
User: app
Password: *5BCB3E6AC345B435C7C2E6B7949A04CE6F6563D3
Select_priv: N
Insert_priv: N
Update_priv: N
Delete_priv: N
Create_priv: N
Drop_priv: N
Reload_priv: N
Shutdown_priv: N
Process_priv: N
File_priv: N
Grant_priv: N
References_priv: N
Index_priv: N
Alter_priv: N
Show_db_priv: N
Super_priv: N
Create_tmp_table_priv: N
Lock_tables_priv: N
Execute_priv: N
Repl_slave_priv: N
Repl_client_priv: N
Create_view_priv: N
Show_view_priv: N
Create_routine_priv: N
Alter_routine_priv: N
Create_user_priv: N
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0mysql> revoke all on app.* from [email protected];
ERROR 1141 (42000): There is no such grant defined for user 'app' on host '192.168.1.7'mysql> revoke all on *.* from [email protected];
Query OK, 0 rows affected (0.00 sec)mysql> revoke all on *.* from [email protected];
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)从user表中,可以查到192.168.1.7的访问授权,
但是用revoke all on app.* 报 ERROR 1141,可能是之前已经用过一次revoke all on app.*,请问报这个错说明什么?
再用revoke all on *.*,不报错,多次使用,但是依然能够从user表中查到记录,为什么不起作用?
想从一个ip地址收回访问授权,正确的写法是什么,为什么我的不起作用呢?2.通过修改授权
上面的方法是收回一个ip授权,在给另一个ip授权,有什么命令,直接修改以前已授权的ip地址,难道update user表?请高手指点,十分感谢
mysql> select * from user \G;
*************************** 11. row ***************************
Host: 192.168.1.7
User: app
Password: *5BCB3E6AC345B435C7C2E6B7949A04CE6F6563D3
Select_priv: N
Insert_priv: N
Update_priv: N
Delete_priv: N
Create_priv: N
Drop_priv: N
Reload_priv: N
Shutdown_priv: N
Process_priv: N
File_priv: N
Grant_priv: N
References_priv: N
Index_priv: N
Alter_priv: N
Show_db_priv: N
Super_priv: N
Create_tmp_table_priv: N
Lock_tables_priv: N
Execute_priv: N
Repl_slave_priv: N
Repl_client_priv: N
Create_view_priv: N
Show_view_priv: N
Create_routine_priv: N
Alter_routine_priv: N
Create_user_priv: N
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0mysql> revoke all on app.* from [email protected];
ERROR 1141 (42000): There is no such grant defined for user 'app' on host '192.168.1.7'mysql> revoke all on *.* from [email protected];
Query OK, 0 rows affected (0.00 sec)mysql> revoke all on *.* from [email protected];
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)从user表中,可以查到192.168.1.7的访问授权,
但是用revoke all on app.* 报 ERROR 1141,可能是之前已经用过一次revoke all on app.*,请问报这个错说明什么?
再用revoke all on *.*,不报错,多次使用,但是依然能够从user表中查到记录,为什么不起作用?
想从一个ip地址收回访问授权,正确的写法是什么,为什么我的不起作用呢?2.通过修改授权
上面的方法是收回一个ip授权,在给另一个ip授权,有什么命令,直接修改以前已授权的ip地址,难道update user表?请高手指点,十分感谢
revoke all on app.*
app是你的dbname吗
2
授权grant
消息:没有为主机'%s'上的用户'%s'定义这类授权楼主想把该记录从user表中删除吗?
使用revoke all on *.*,会使得权限列从Y变成N;也就是取消了他的权限,
想要删除的话 楼主可以用 drop user username@'地址' 从表中删除; 需要flush privileges;楼主可以直接drop user username@'地址' 从表中删除; 需要flush privileges;
再重新grant all on ....update 也是可以的,不过需要flush privileges;(delete,update,insert都需要flush privileges;)
update mysql.user set host='2.2.2.2' where user='aaaa';flush privileges;
即可。这样权限不变。