Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql,使新用户只能读取当前表,并且可以插入&;更新到新表_Mysql_Database_Grant - Fatal编程技术网

mysql,使新用户只能读取当前表,并且可以插入&;更新到新表

mysql,使新用户只能读取当前表,并且可以插入&;更新到新表,mysql,database,grant,Mysql,Database,Grant,我的数据库中有五个表,现在我创建了user1,但我希望实现这一点: user1只能读取当前的五个表 user1可以创建表,并插入和更新到新表 我如何才能做到这一点?您应该考虑: GRANT ALL PRIVILEGES ON your_db_name.table_1 to 'your_user_name'@'%'; GRANT ALL PRIVILEGES ON your_db_name.table_2 to 'your_user_name'@'%'; GRANT ALL PRIVILEGES

我的数据库中有五个表,现在我创建了user1,但我希望实现这一点:

user1只能读取当前的五个表

user1可以创建表,并插入和更新到新表


我如何才能做到这一点?

您应该考虑:

GRANT ALL PRIVILEGES ON your_db_name.table_1 to 'your_user_name'@'%';
GRANT ALL PRIVILEGES ON your_db_name.table_2 to 'your_user_name'@'%';
GRANT ALL PRIVILEGES ON your_db_name.table_3 to 'your_user_name'@'%';
GRANT ALL PRIVILEGES ON your_db_name.table_4 to 'your_user_name'@'%';
GRANT ALL PRIVILEGES ON your_db_name.table_5 to 'your_user_name'@'%';
到目前为止,您的用户名只能访问这五个表。 下面的授权将允许在指定的数据库中为“用户名”创建表

一旦用户创建了表,则必须根据需要更新权限

GRANT CREATE ON db_name.* TO 'user_name'@'%';
GRANT SELECT, INSERT, UPDATE ON db_name.table_1 TO 'user_name'@'%';
GRANT SELECT, INSERT, UPDATE ON db_name.table_2 TO 'user_name'@'%';
GRANT CREATE ON db_name.* TO 'user_name'@'%';
GRANT SELECT, INSERT, UPDATE ON db_name.table_1 TO 'user_name'@'%';
GRANT SELECT, INSERT, UPDATE ON db_name.table_2 TO 'user_name'@'%';