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');
相关推荐
ClouGence3 小时前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
orion5716 小时前
Missing Semester Class1:course overview and introduction of shell
linux
先吃饱再说20 小时前
存储的进化:从 MySQL 到浏览器缓存,数据到底住在哪?
数据库
Nturmoils20 小时前
字段太多看不全,ksql 的展开模式和输出控制怎么用
数据库·后端
用户120487221611 天前
Linux驱动编译与加载
linux·嵌入式
Databend1 天前
Agent 轨迹分析与归因的数据工程实践
大数据·数据库·agent
这个DBA有点耶1 天前
SQL改写进阶:标量子查询的“隐形代价”与消除实战
数据库·mysql·架构
smallyoung1 天前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·mysql·postgresql
parade岁月1 天前
MySQL JOIN解析:朴实无华但食之有味
数据库·后端
用户3169353811831 天前
MySQL服务无法启动问题解决全记录
数据库