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');
相关推荐
ProtonBase23 分钟前
分布式 Data Warebase - 构筑 AI 时代数据基石
大数据·数据库·数据仓库·人工智能·分布式·数据分析·数据库系统
辰_砂26 分钟前
Ubuntu24.04源码安装postgresql17
数据库
yyycqupt30 分钟前
数据库连接池(二)
linux·数据库·c++·后端·单例模式
白八实1 小时前
ubuntu,rocky的安装和使用远程连接工具连接服务器
linux·服务器·ubuntu
夏天的味道٥1 小时前
Linux 安装 Git 服务器
linux·服务器·git
皓木.1 小时前
SQL-多表操作
数据库·sql
时光话1 小时前
第九章 使用Apache服务部署静态网站
linux·apache
花糖纸木2 小时前
进程控制(详解)
linux·服务器·c++
weixin_449310842 小时前
钉钉数据如何高效集成到金蝶云星空系统
linux·windows·钉钉
yuerZ62 小时前
anaconda pycharm 使用问题
linux·人工智能·pycharm