Linux环境下创建MySQL只读用户grant select on *.* to jack@"%" identified by "jack"; 解释(1) *.* 表示任何数据库的任何表(2) @"%" 表示任何ip对应的pc机上都可以登录数据库做查询操作(3) jack 表示用户名(4) "jack" 表示密码整个语句的意思:赋予用户jack对任何数据库任何表的查询权限,同时该用户可以在任意ip地址对应的pc机上登录数据库。 补充通过语句中的*.*和@"%"可以看出,除了上述的情况,我们还可以对用户的查询权限做更加细粒度的限制。比如:(1) 限定只可以查询数据库db1中的所有表grant select on db1.* to jack@"%" identified by "jack";(2) 限定只可以查询数据库db1的user表grant select on db1.user to jack@"%" identified by "jack";(3) 限定只可以在ip地址192.168.1.35的pc机上登录数据库,并且只可以查询数据库db1的user表中的数据grant select on db1.user to jack@192.168.1.35 identified by "jack";(4) 如果是grant ... to jack@192.168.1.35 identified by "jack";那么要删除用户jack,则删除语句必须这么写:drop user jack@192.168.1.35如果是这么写:drop user jack 是无法删除成功的,这一点一定要注意。 注意1当建立了只读用户之后,如果使用该账号登录本机(localhost)上的mysql数据库,此时的登录语句必须要加上本机的ip地址,假设本机的ip地址是192.168.1.40mysql -ujack -pjack -h192.168.1.40 只有这样才可以登录成功。 如果将192.168.1.40换成localhost或127.0.0.1是否可行呢?答案是否定的。 当然此时如果你想通过数据库客户端登录数据库,连接参数[主机名或ip地址]不可以是localhost或127.0.0.1,必须是本机实际的ip地址192.168.1.40。 注意2当建立了只读用户后,如果使用该账号在其他pc机(不同ip地址)上登录数据库,ip地址都是必须要输的。 注意3其实对于MySQL创建只读账号,在linux和windows上,创建语句完全一样。
linux mysql 只读模式_Linux环境下创建MySQL只读用户
最新推荐文章于 2023-08-31 10:39:25 发布