MySQL 授权是指为数据库中的用户分配特定的权限,以控制他们对数据库中表和数据的访问。授权多张表意味着为一个用户或一组用户分配对多个表的访问权限。
MySQL 中的权限类型包括:
假设我们有一个数据库 mydatabase
,其中包含两个表 table1
和 table2
,我们希望为用户 user1
授权对这两个表的 SELECT
和 INSERT
权限。
-- 创建数据库
CREATE DATABASE mydatabase;
-- 使用数据库
USE mydatabase;
-- 创建表
CREATE TABLE table1 (
id INT PRIMARY KEY,
name VARCHAR(50)
);
CREATE TABLE table2 (
id INT PRIMARY KEY,
age INT
);
-- 授权用户对两个表的 SELECT 和 INSERT 权限
GRANT SELECT, INSERT ON mydatabase.table1 TO 'user1'@'localhost';
GRANT SELECT, INSERT ON mydatabase.table2 TO 'user1'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
原因:
解决方法:
解决方法:
-- 撤销用户对 table1 的 SELECT 和 INSERT 权限
REVOKE SELECT, INSERT ON mydatabase.table1 FROM 'user1'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
领取专属 10元无门槛券
手把手带您无忧上云