浅析drop user与delete from mysql.user的区别
程序员文章站
2024-02-22 11:08:46
drop user 会将该用户的信息全部删掉,而 delete 只会清除user表,其他的比如db表中的信息还是存在。如果delete 后,再创建一...
drop user 会将该用户的信息全部删掉,而 delete 只会清除user表,其他的比如db表中的信息还是存在。
如果delete 后,再创建一个最小权限的用户,那么他会重用以前的权限。
grant all on test.* to 'test'@'%' identified by 'test';
delete from user where user =test;
差看db 表
mysql> select * from db;
+------+---------+------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| host | db | user | select_priv | insert_priv | update_priv | delete_priv | create_priv | drop_priv | grant_priv | references_priv | index_priv | alter_priv | create_tmp_table_priv | lock_tables_priv | create_view_priv | show_view_priv | create_routine_priv | alter_routine_priv | execute_priv | event_priv | trigger_priv |
+------+---------+------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| % | test | | y | y | y | y | y | y | n | y | y | y | y | y | y | y | y | n | n | y | y |
| % | test\_% | | y | y | y | y | y | y | n | y | y | y | y | y | y | y | y | n | n | y | y |
| % | test | test | y | y | y | y | y | y | n | y | y | y | y | y | y | y | y | y | y | y | y |
+------+---------+------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
3 rows in set (0.00 sec)
test 的权限依然存在
创建一个只有select 的 用户test
grant select on test.* to 'test'@'%' identified by 'test';
mysql> select * from db;
+------+---------+------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| host | db | user | select_priv | insert_priv | update_priv | delete_priv | create_priv | drop_priv | grant_priv | references_priv | index_priv | alter_priv | create_tmp_table_priv | lock_tables_priv | create_view_priv | show_view_priv | create_routine_priv | alter_routine_priv | execute_priv | event_priv | trigger_priv |
+------+---------+------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| % | test | | y | y | y | y | y | y | n | y | y | y | y | y | y | y | y | n | n | y | y |
| % | test\_% | | y | y | y | y | y | y | n | y | y | y | y | y | y | y | y | n | n | y | y |
| % | test | test | y | y | y | y | y | y | n | y | y | y | y | y | y | y | y | y | y | y | y |
+------+---------+------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
3 rows in set (0.00 sec)
权限和以前的一样。
如果delete 后,再创建一个最小权限的用户,那么他会重用以前的权限。
grant all on test.* to 'test'@'%' identified by 'test';
delete from user where user =test;
差看db 表
mysql> select * from db;
+------+---------+------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| host | db | user | select_priv | insert_priv | update_priv | delete_priv | create_priv | drop_priv | grant_priv | references_priv | index_priv | alter_priv | create_tmp_table_priv | lock_tables_priv | create_view_priv | show_view_priv | create_routine_priv | alter_routine_priv | execute_priv | event_priv | trigger_priv |
+------+---------+------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| % | test | | y | y | y | y | y | y | n | y | y | y | y | y | y | y | y | n | n | y | y |
| % | test\_% | | y | y | y | y | y | y | n | y | y | y | y | y | y | y | y | n | n | y | y |
| % | test | test | y | y | y | y | y | y | n | y | y | y | y | y | y | y | y | y | y | y | y |
+------+---------+------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
3 rows in set (0.00 sec)
test 的权限依然存在
创建一个只有select 的 用户test
grant select on test.* to 'test'@'%' identified by 'test';
mysql> select * from db;
+------+---------+------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| host | db | user | select_priv | insert_priv | update_priv | delete_priv | create_priv | drop_priv | grant_priv | references_priv | index_priv | alter_priv | create_tmp_table_priv | lock_tables_priv | create_view_priv | show_view_priv | create_routine_priv | alter_routine_priv | execute_priv | event_priv | trigger_priv |
+------+---------+------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| % | test | | y | y | y | y | y | y | n | y | y | y | y | y | y | y | y | n | n | y | y |
| % | test\_% | | y | y | y | y | y | y | n | y | y | y | y | y | y | y | y | n | n | y | y |
| % | test | test | y | y | y | y | y | y | n | y | y | y | y | y | y | y | y | y | y | y | y |
+------+---------+------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
3 rows in set (0.00 sec)
权限和以前的一样。
推荐阅读
-
浅析drop user与delete from mysql.user的区别
-
浅析drop user与delete from mysql.user的区别_MySQL
-
drop,delete与truncate的区别
-
drop,truncate与delete的区别
-
drop,truncate与delete的区别
-
MySQL两种删除用户语句的区别(delete user和drop user)
-
drop,truncate与delete的区别
-
浅析drop user与delete from mysql.user的区别_MySQL
-
drop,truncate与delete的区别
-
MySQL两种删除用户语句的区别(delete user和drop user)