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,'[email protected]');
mysql> insert into stuinfo (姓名,性别,年龄,联系电话,Emall地址) values ('蓝采和','女',21,59420131466,'[email protected]');
相关推荐
MaCa .BaKa12 分钟前
38-日语学习小程序
java·vue.js·spring boot·学习·mysql·小程序·maven
Excuse_lighttime25 分钟前
JVM 机制
java·linux·jvm
TiDB 社区干货传送门34 分钟前
从40秒到11毫秒:TiDB环境下一次SQL深潜优化实战
数据库·sql·tidb
IP管家1 小时前
企业级IP代理解决方案:负载均衡与API接口集成实践
服务器·网络·数据库·网络协议·tcp/ip·容器·负载均衡
YOYO--小天1 小时前
4G和5G模块的使用
linux·嵌入式硬件·5g
愚润求学1 小时前
【Linux】进程间通信(一):认识管道
linux·运维·服务器·开发语言·c++·笔记
小吕学编程1 小时前
Jackson使用详解
java·javascript·数据库·json
雪碧聊技术1 小时前
数据库的范式
数据库·范式
Arbori_262151 小时前
Oracle 高水位线(High Water Mark, HWM)
数据库·oracle
yuanpan1 小时前
MongoDB与PostgreSQL两个数据库的特点详细对比
数据库·mongodb·postgresql