为了给MySQL用户授权对特定表的增编削查(CRUD)权限,、可以利用以下SQL下令:
- -- 授权用户对数据库dbname中的表table_name的查询(SELECT)、插入(INSERT)、更新(UPDATE)和删除(DELETE)权限
- GRANT SELECT, INSERT, UPDATE, DELETE ON dbname.table_name TO 'username'@'host';
- -- 刷新权限,使更改生效
- FLUSH PRIVILEGES;
复制代码 请将dbname更换为数据库名,table_name更换为表名,username更换为用户名,host更换为用户可以毗连的主机名或IP地址。
例如,给用户john从本地主机对数据库mydb中的表mytable进行CRUD操纵,可以这样做:
- GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.mytable TO 'john'@'localhost';
- FLUSH PRIVILEGES;
复制代码 确保在实行这些下令之前,已经以具有充足权限的用户身份登录MySQL。
注意:用户名反面的IP信息
- 具体IP地址:如果你知道用户将从哪个特定的IP地址毗连,你可以直接指定该IP地址。例如,‘username’@‘192.168.1.100’ 表示用户username只能从IP地址为192.168.1.100的主机毗连到MySQL服务器。
- IP地址范围:MySQL也支持利用通配符(%)来指定IP地址范围。但是,请注意,MySQL的通配符是在IP地址的各部门(点分隔的部门)中利用的,而不是在整个IP地址之后。例如,‘username’@‘192.168.1.%’ 表示用户username可以从任何以192.168.1.开头的IP地址毗连到MySQL服务器。
- 本地主机:如果你盼望用户只能从MySQL服务器所在的机器上毗连(即本地毗连),你可以利用localhost或127.0.0.1(IPv4)或::1(IPv6)。‘username’@‘localhost’ 和 ‘username’@‘127.0.0.1’ 在大多数环境下是等效的,但localhost可能会涉及到Unix socket毗连,而127.0.0.1则是通过TCP/IP毗连。
- 任意主机:如果你盼望用户可以从任何主机毗连到MySQL服务器,你可以利用通配符%作为主机名。‘username’@‘%’ 表示用户username可以从任何IP地址毗连到MySQL服务器。然而,出于安全思量,通常不建议这样做,除非你非常清楚这样做的风险,并且已经采取了适当的安全措施。
- 主机名:在某些环境下,你也可以利用主机名(如example.com)而不是IP地址。但是,这要求MySQL服务器能够解析该主机名,并且网络配置答应通过该主机名进行毗连。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |