您的位置:首页 > 博客中心 > 数据库 >

mysql数据库表操作及授权

时间:2022-03-10 17:52

mysql数据库表操作及授权

表操作:增删改查

把/etc/passwd文件的内容导入 passwd表里。  

mysql>load data infile"/etc/passwd" into table passwd fields terminated by ":";

基于前面的passwd表,完成下列操作:  

1:列出uid低于500且3个字母的用户  

mysql> select name from passwd where uid<500 and name like "___";

2:分别统计bash、nologin数 

mysql> select count(shell) from passwd where shell like "%bash"; 

mysql> select count(shell) from passwd where shell like "%nologin";

3:复制用户信息表的所有记录到ipdb库的user表里。

mysql> create table ipdb.user select * from passwd;

4:查看ipdb库的user表的表结构 

mysql> desc ipdb.user;

5:删除user表的所有记录 

mysql> delete from ipdb.user;

6:把name字段设置为index字段

mysql> alter table ipdb.user add index(name);

7:添加编号字段id  在所有字段上方,用来存储记录的编号。

mysql> alter table passwd add id int primary key auto_increment first;

8:修改miaoshu的字段名sex   类型为 enum  且字段值只能是gril 或boy  

mysql>update passwd set miaoshu=null;  

mysql> alter table passwd change miaoshu sex enum("gril","boy");

9:把gid  在100到500间用户的家目录修改为/root  

mysql> update passwd set home="/root" where gid between 100 and 500;

10:把用户是  root  bin   sync 用户的shell 修改为  /sbin/nologin  

mysql> update passwd set shell="/sbin/nologin" where name in ("root","bin","sync");

11:查看  gid 小于10的用户 都使用那些shell 

mysql> select shell from passwd where gid<10 group by shell;

13:删除名字以字母d开头的用户。 

mysql> delete from passwd where name regexp "^d";

14:查询  gid 最大的前5个用户 使用的 shell  

mysql> select shell from passwd order by gid desc limit 5;

15:查看那些用户没有家目录  

mysql> select name from passwd where home is null;

16: 把gid号最小的前5个用户信息保存到/bak/passwd.db文件里。 

 mysql> select * from passwd order by gid asc limit 5 into outfile "/bak/passwd.db";

17:把自己用来登陆系统的用户信息 添加到passwd表里 

mysql> insert into passwd values(null,"sw","x",520,520,2,"/home/sw","/bin/bash");

18:删除表中的 mina 字段   

 mysql> alter table passwd drop mina;

19:设置表中所有字段值不允许为空 

mysql> alter table passwd modify uid int(5) not null; 

mysql> update passwd set sex="boy"; 

mysql> alter table passwd modify sex enum("gril","boy") not null; 

mysql> alter table passwd modify home varchar(50) not null;

20:删除root 用户家目录字段的值  

mysql> alter table passwd modify home varchar(50) ;

mysql> update passwd set home=null where name="root";

21:显示 gid 大于500的用户的用户名 家目录和使用的shell 

mysql> select name,home,shell from passwd where gid>500;

22:删除uid大于100的用户记录  

mysql> delete from passwd where uid>100;

23:显示uid号在10到30区间的用户有多少个。 

mysql> select count(uid) from passwd where uid between 10 and 30;

24:显示uid号是100以内的用户使用shell的类型。 

mysql> select shell from passwd where uid<500 group by shell;

25:显示uid号最小的前10个用户的信息。

mysql> select * from passwd order by uid desc limit 10;

26:显示表中第10条到第15条记录 

mysql> select * from passwd limit 9,6;

27:显示uid号小于50且名字里有字母a  用户的详细信息 

mysql> select * from passwd where uid<50 and name like "%a%";

:28:只显示用户 root   bin   daemon  3个用户的详细信息。

mysql> select * from passwd where name in ("root","bin","daemon");

29:显示除root用户之外所有用户的详细信息。 

mysql> select * from passwd where name not like "root";

30:统计username 字段有多少条记录  

mysql> select count(name) from passwd;

31:显示名字里有字母c  用户的详细信息  

mysql> select * from passwd where name like "%c%";

 

 

用户授权

1:设置数据库管理员的密码为999  

[root@mysql mysql]# mysqladmin -hlocalhost -uroot -p password "999":

2:查看当前登陆数据库服务器的用户是谁? 

mysql> select user();

3:查看当前登陆数据库服务器用户的权限? 

mysql> show grants;

4:查看当前数据库服务器有哪些授权用户。 

mysql> select user,host from mysql.user;

5:授权数据库管理员可以在192.168.1.0/24网段内的所有主机访问数据库服务器的所有库,对所有库有完全权限且有授权的权限、 登陆密码tarena。 

mysql> grant all on *.* to root@"192.168.1.%" identified by "tarena" with grant option; 

6:不允许数据库管理员在数据库服务器本机登录。 

mysql> revoke all on *.* from root@"localhost"; 

mysql> revoke all on *.* from root@"127.0.0.1";

7:授权userweb用户可以从网络中的任意主机访问数据库服务器,对webdb中的regtab表有查看、更新name字段和age字段的权限 密码userweb888。 

mysql> grant select,update(name,age) on webdb.* to userweb@"%" identified by "userweb888";

8:授权用户userweb 重置自己的登陆密码为123456,并验证能否使用新密码登陆   

mysql> set password for userweb@"%"=password ("123456");

9:数据库管理员修改授权用户userweb的密码为654321,使用新密码能否登陆数据库服务器   

mysql> set password for userweb@"%"=password ("654321");

10:撤销以上用户的所有授权并删除授权用户。 

mysql> revoke select,update(name,age) on webdb.* to userweb@"%";

mysql>delete from mysql.user where user=”userweb”; 

10:只允许数据库管理员从数据库服务器本机登录且有授权的权限。

mysql> grant all on *.* to root@"localhost" identified by "123456" with grant option;

11:解决有登陆权限用户对test库以上权限  

mysql> delete from mysql.db where db like "test%";  

[root@mysql ~]# service mysql stop

[root@mysql ~]# service mysql start

 

 


本文出自 “” 博客,请务必保留此出处

mysql数据库表操作及授权,布布扣,bubuko.com

热门排行

今日推荐

热门手游