Linux1 用户的创建和删除

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux1 用户的创建和删除

首次安装MySQL时,MySQL会自动授予用户都可以从本地连接MySQL服务器。但只有MySQL管理员root才可以完全访问系统中的索引数据库(默认只有test 和mysql两个数据库),而其他用户只能访问test数据库。

前面提到过,默认的数据库MySQL中有5个授权表(表4-6),MySQL由安装程序自动设置。这5个授权表共同决定哪个用户可以连接服务器、连接方式及连接后可以执行哪些操作。初始化时,表host、table_priv和columnts_priv是空的,表user和db就决定了MySQL默认的访问规则。下面以MySQL管理员身份查看表user和db的内容。

表4-6 MySQL中的5个授权表

要查看数据库MySQL中的表user前4个字段的内容,可使用“select host,user,password,select_priv from er;”命令。

命令中“er”的含义是数据库MySQL中的表user。如果事先使用命令use MySQL选择了当前使用的数据库,则可以将“use mysql”简化为“user”,该命令执行情况如图4-37所示。

图4-37 MySQL中表user的前4个字段内容

如图4-37所示,第1条表明MySQL授予用户root可以从本地(localhost)连接到数据库服务器,并对服务器中所有数据库都拥有完全控制的权限(从表user的第4个字段起的所有关于权限的字段值都是…Y‟);第2条记录表明,任何其他用户(对于表user中的字段user值为空,相当于匿名用户)也可以从本地(localhost或localhost.localadmin)连接到数据库,但对系统中的所有数据库都没有访问权限(从表user的第4个字段起的所有关于权限的字段值都是…N‟)。

要查看数据库MySQL中表db的前4个字段内容,可在终端中输入“select host,db,user,select_priv from mysql.db;”命令,并按【回车】键,如图4-38所示。

图4-38 MySQL中表db的前4个字段内容

由图4-38所示,表db定义了任何用户可以从任何主机访问数据库test(或以test开头的),并且对该数据库拥有完全的访问权限(从表db的第4个字段起的索引关于权限的字段值都是…Y‟)。字符“%”被用做通配符,字符“\_”被用做转义符。

虽然在表db中定义了允许任何用户可以从任何主机访问数据库test,但由于在表user中限制任何用户只能从本地(localhost或localhost.localadmin)来连接数据库服务器,两个表共同作用下MySQL默认设置时任何用户只能从本地完全访问数据库test。

下面用一种直观的方法来为数据库服务器创建/删除新用户,以及更改用户密码。

1.创建新用户

创建一个新用户guest,并设置密码,同时允许它从任何主机连接到数据服务器,可执行以下步骤。

首先,在终端中输入“mysql –uroot –p”命令,并按【回车】键以MySQL管理员身份从本地连接到数据库服务器,如图4-39所示。

图4-39 连接数据库服务器

连接到服务器后,使用“insert into er(host,user,password)values (…%‟,‟guest‟,pass word(…password‟));”创建新用户guest,并设置密码,同时允许新用户从任何主机连接数据库服务器,如图4-40所示。

图4-40 创建新用户

Password()函数会为密码加密,这样表user字段password保存的是经过加密的密码。提示

然后,使用“flush privileges;”命令刷新MySQL授权表,“select host,user,password,select_priv from er;”命令查看创建的用户,如图4-41所示。

图4-41 刷新及查看授权表

设置完成后测试新用户是否可以使用,可在远程客户端使用“mysql –h 192.168.0.35 –u guest –p”命令连接数据库。其中,“-h”选项用于指定所连接的数据库服务器的IP地址或域名,具体测试情况如图4-42所示。

图4-42 从远程客户端连接数据库服务器

由图4-42可看出,使用命令show databases 查看当前用户可用的数据库,只有数据库test 。

提 示 在创建新用户后一定要使用flush privileges 命令重载授权表。如果Linux 系统开启了防火墙,则在远程连接mysql 的时候需要关闭防火墙或者设置运行tcp 端口3306通过,可使用“/sbin/iptables –IINPUT –p tcp –dport 3306 –j ACCEPT”命令开放tcp 端口3306。

2

.删除用户

MySQL 中,可使用delete 语句删除用户。例如,删除用户guest ,则需要输入“delete from er where user = …guest‟;”命令,并按【回车】键,如图4-43所示。

图4-43 删除用户guest

删除后一定要记得用flush privileges 命令刷新MySQL 授权表,如图4-44所示。

图4-44 刷新MySQL 授权表

3.更改用户密码

MySQL 授权表与MySQL 常规表没有什么本质的区别,因此也可以用update 语句修改其内容,包括用户密码。 此外,还有一种更简单的更改用户密码的方法。例如,要将用户guest 密码改为“guest ”,可使用“set password for guest@…%‟=pa ssword (…guest‟

);”命令。当用户在登录MySQL 的时候也可以看到基本格式为“guest@%”的字段,它的含义是“用户名@客户端的域名”。这条命令的执行情况如图

4-45所示。

图4-45 更改用户密码

提 示 由于这里使用set password 语句更改用户密码,所以不需要执行flush privileges 语句来刷新MySQL 授权表,修改的设置即可生效。

相关文档
最新文档