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

[[email protected] 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 [email protected]"192.168.1.%" identified by "tarena" with grant option;

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

mysql> revoke all on *.* from [email protected]"localhost";

mysql> revoke all on *.* from [email protected]"127.0.0.1";

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

mysql> grant select,update(name,age) on webdb.* to [email protected]"%" identified by "userweb888";

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

mysql> set password for [email protected]"%"=password ("123456");

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

mysql> set password for [email protected]"%"=password ("654321");

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

mysql> revoke select,update(name,age) on webdb.* to [email protected]"%";

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

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

mysql> grant all on *.* to [email protected]"localhost" identified by "123456" with grant option;

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

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

[[email protected] ~]# service mysql stop

[[email protected] ~]# service mysql start

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

时间: 2024-12-28 13:29:24

mysql数据库表操作及授权的相关文章

Mysql 数据库表操作

1 创建表: create table table_name ( filed 字段类型 [完整性约束], filed 字段类型 [完整性约束], filed 字段类型 [完整性约束], ): 2 查看表 desc table_name; 查看表结构 show tables: 是该数据库下所有的表名 show create table table_name : 查看数据库的表创建信息 3 修改表: alter table table_name add field type 完整性约束 alter

MySql数据库表操作(二)

一.增加表记录: insert [into] tab_name (field1,field2....) values (values1,values2....) , (values1,values2....), ... : insert tab_name set field=value, field=value,..... : 二.修改记录: update tab_name set field=value where 子句 三.删除表记录: delete from tab_name where

Python数据库操作 Mysql数据库导入导出和授权#学习猿地

# Mysql数据库导入导出和授权 ### 数据导出 #### 1.数据库数据导出 ```shell # 不要进入mysql,然后输入以下命令 导出某个库中的数据 mysqldump -u root -p tlxy > ~/Desktop/code/tlxy.sql ``` 导出一个库中所有数据,会形成一个建表和添加语句组成的sql文件 之后可以用这个sql文件到别的库,或着本机中创建或回复这些数据 #### 2.将数据库中的表导出 ```shell # 不要进入mysql,然后输入以下命令 导

MySQL数据库表的数据插入、修改、删除操作及实例应用

1.MySQL数据库表的数据插入.修改.删除操作SQL语法格式: 1 CREATE DATABASE db0504; 2 3 USE db0504; 4 5 CREATE TABLE student ( 6 sno VARCHAR (10) NOT NULL UNIQUE PRIMARY KEY, 7 sname VARCHAR (20) NOT NULL, 8 ssex enum ('男', '女') NOT NULL DEFAULT '男', 9 sbirth date, 10 sclass

Python数据库操作 Mysql数据库表引擎与字符集#学习猿地

# Mysql数据库表引擎与字符集 ![](./imgs/752951346A5F4E7EBDE362FA97107707.png) ### 1.服务器处理客户端请求 其实不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:**客户端进程向服务器进程发送一段文本(MySQL语句),服务器进程处理后再向客户端进程发送一段文本(处理结果).**那服务器进程对客户端进程发送的请求做了什么处理,才能产生最后的处理结果呢?客户端可以向服务器发送增删改查各类请求,我们这里以比较复杂的查询请

【初学菜鸟作-MySQL数据库表的基本操作与权限管理】

表基本操作练习 1 复制用户信息表user的所有记录到userdb表里. mysql> create table userdb select * fromuser; 2 查看userdb表的表结构 mysql> desc userdb; 3 删除userdb表的所有记录 mysql> delete from userdb 4 把name字段设置为index字段 mysql> create index name on userdb(name) 5 添加编号字段id  在所有字段上方,

Python对MySQL数据库的操作

Python中,可以使用MySQLdb模块连接到MySQL数据库,对MySQL数据库进行操作 [第一步] MySQL安装 参考文档: http://blog.csdn.net/Jerry_1126/article/details/20837397 [第二步]连接到MySQL 创建数据库 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.5

MYSQL数据库表排序规则不一致导致联表查询,索引不起作用问题

Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题 表更描述: 将mysql数据库中的worktask表添加ishaspic字段. 具体操作:(1)数据库worktask表新添是否有图片字段ishaspic:新添字段时,报错 [SQL] alter table WorkTask add ishaspic int(10) Null;[Err] 1034 - Incorrect key file for table 'WorkTask'; try to repair it 解决方案:新建

将Hive统计分析结果导入到MySQL数据库表中(一)——Sqoop导入方式

最近在做一个交通流的数据分析,需求是对于海量的城市交通数据,需要使用MapReduce清洗后导入到HBase中存储,然后使用Hive外部表关联HBase,对HBase中数据进行查询.统计分析,将分析结果保存在一张Hive表中,最后使用Sqoop将该表中数据导入到MySQL中.整个流程大概如下: 下面我主要介绍Hive关联HBase表--Sqoop导出Hive表到MySQL这些流程,原始数据集收集.MapReduce清洗及WEB界面展示此处不介绍. 一.HBase数据库表 hbase(main):