linux高级管理——访问MYSQL数据库

一、认识数据库系统:

MySQL数据库系统也是一个典型的C/S(客户端/服务器)架构的应用,要访问MySQL数据库需要使用专门的客户端软件。在Linux系统中,最简单、易用的MySQL客户端软件是其自带的mysql命令工具。

1.登录到MySQL服务器

经过安装后的初始化过程,MySQL 数据库的默认管理员用户名为 root,密码为空。若要以未设置密码的root用户登录本机的MySQL数据库.可以执行以下操作。

复制代码
[root@xiao ~]# mysql -u root

在有密码的情况下.还应使用"一p"选项来进行密码校验。

复制代码
[root@xiao ~]# mysql -u root -p

执行"STATUS,"语句可以查看当前数据库服务的基本信息。

复制代码
mysql> status;

在"mysql>"操作环境中,执行"EXIT"或"QUIT"命令可以退出mysql 命令工具.返回原来的Shell环境。

二、使用MySQL数据库:

2.1 查看数据库结构:

MySQL是--套数据库管理系统,在每台MySQL服务器中,均支持运行多个库.每个库相当于-个容器,其中存放着许多表,这些信息称为数据记录。

查看当前服务器中有哪些库

复制代码
mysql> show databases;

查看当前使用的库中有哪些表

复制代码
mysql> use mysql;       ##进入库##
Database changed
mysql> show tables;     ##查看表##

MySQL数据库的数据文件存放在/usr / local/mysql /data目录下,每个数据库对应一-个子目录.用于存储数据表文件。每个数据表对应为三个文件.扩展名分别为". frm". ".myd"和".rmyi".

查看表的结构

DESCRIBE语句:用于显示表的结构.即组成表的各字段(列)的信息。需要指定"库名.表名"作为参数,若只指定表名参数.则需先通过USE语句切换到目标库。例如.执行以下操作可以查看mysql库中的user 表的结构.与直接执行"DESCRIBE mysql , user;"语句的效果相同。

复制代码
mysql> describe user;

三、创建及删除库和表:

1.创建新的库

CREATE DATABASE 语句:用于创建一个新的库.需指定数据库名称作为参数。

复制代码
mysql> create database bdqn;

2.创建新的表

CREATE TABLE语句:用于在当前库中创建新的表.需指定数据表名称作为参数,并定义该表格所使用的各字段。

复制代码
mysql> create table stuinfo (姓名 nvarchar(20) not null,性别 nvarchar(1) not null,年龄 int not null,联系电话 varchar(11) not null,Emall地址 nvarchar(30) not null);

3.删除一个数据表

DROP TABLE语句:用于删除库中的表.需要指定"库名.表名"作为参数;若只指定表名参数,则需先通过执行"USE"语句切换到目标库。

复制代码
mysql> DROP TABLE auth.users ;   ##删除auth 库中的users表##

4.删除一个数据库

DROP DATABASE 语句:用于删除指定的库.需要指定库名作为参数。例如,执行以下操作可以删除名为auth的库。

复制代码
mysql> DROP DATABASE auth ;

四、管理表中的数据记录:

1.插入数据记录
NSERT NTO语句:用于向表中插入新的数据记录。

复制代码
mysql> insert into stuinfo (姓名,性别,年龄,联系电话,Emall地址) values ('张无忌','男',19,17512345678,'wuiji.zhang');

2.查询数据记录

SELECT 语句:用于从指定的表中查找符合条件的数据记录。MySQL数据库支持标准的SQL查询语句,语句格式如下所示。

复制代码
mysql> select * from stuinfo;

3.修改数据记录

UPDATE语句:用于修改.更新表中的数据记录.

复制代码
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] WHERE 条件表达式

mysql> update mysql .user set password=password('123457') where usre='root'

4.删除数据记录

DELETE语句:用于删除表中指定的数据记录。

复制代码
DElETE FROM 表名 WHERE 条件表达式

mysql> select user,host,password from mysql.user where user='';

五、数据库用户权限分配:

1、授予权限

GRANT语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时,GRANT语句将会创建新的用户,否则,GRANT语句用于修改用户信息。语句格式如下所示。

复制代码
GRANT 权限列表 ON 库名.表名 to 用户名@来源地址〔iDENTiFTED BY'密码']

权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔,如"select , insert , update"。使用"all"表示所有权限,可授权执行任何操作。

库名.表名:用于指定授权操作的库和表的名称.其中可以使用通配符"*"。例如,使用"auth ,*"表示授权操作的对象为auth库中的所有表。

用户名@来源地址:用于指定用户名称和允许访问的客户机地址,即谁能连接.能从哪里连接。来源地址可以是域名.P地址,还可以使用"%"通配符.表示某个区域或网段内的所有地址,如"%.bdqn , com""192,168.1 .%"等。

IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略"IDENTIFIED BY"部分,则用户的密码将为空。

2.查看权限

SHOW GRANTS语句:专门用来查看数据库用户的授权信息.通过FOR子句可指定查看的用户

复制代码
SHOw GRANTS FOR用户名@来源地址

3.撤销权限

REVOKE语句:用于撤销指定用户的数据库权限,撤销权限后的用户仍然可以连接到MySQL服务器,但将被禁止执行对应的数据库操作。语句格式如下所示。

复制代码
REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@来源地址

六、实验:(MySQL服务器的构建与维护

实验需求:

为MySOL 数据库的root用户设置密码.朋除用户名.密码为空的用户记录。

复制代码
mysql> update mysql .user set password=password('123457') where usre='root'


mysql> select user,host,password from mysql.user where user='';

新建名为"bdqn"的库.授权用户rundb 从本机访问.具有所有操作权限。

复制代码
mysql> grant all on aut.* to 'rundd'@'localhost' identified by '123456';
##创建用户rundd##

mysql> create database bdqn;

以rundb用户登录,在bdqn库中创建stuinfo表,并录入数据,如表3-2所示。

复制代码
mysql> insert into stuinfo (姓名,性别,年龄,联系电话,Emall地址) values ('张无忌','男',19,17512345678,'wuiji.zhang');
mysql> insert into stuinfo (姓名,性别,年龄,联系电话,Emall地址) values ('白居易','男',24,17587654321,'jujyi.bai@tangchao.org');
mysql> insert into stuinfo (姓名,性别,年龄,联系电话,Emall地址) values ('蓝采和','女',21,59420131466,'caiihe.lan@haoxihuannia.org');
相关推荐
Fcy64812 分钟前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满13 分钟前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠34 分钟前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Gary Studio35 分钟前
rk芯片驱动编写
linux·学习
mango_mangojuice36 分钟前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
Harvey9031 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
Goat恶霸詹姆斯1 小时前
mysql常用语句
数据库·mysql·oracle
大模型玩家七七2 小时前
梯度累积真的省显存吗?它换走的是什么成本
java·javascript·数据库·人工智能·深度学习
曾经的三心草2 小时前
redis-9-哨兵
数据库·redis·bootstrap
明哥说编程2 小时前
Dataverse自定义表查询优化:D365集成大数据量提速实战【索引配置】
数据库·查询优化·dataverse·dataverse自定义表·索引配置·d365集成·大数据量提速