Linux——MySQL数据库的使用

访问MySQL数据库

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

  • 登录到MySQL服务器

经过安装后的初始化过程,MySOL数据库的默认管理员用户名为root,密码为空.

可以执行以下操作:

在有密码的情况下,还可以使用'-p'选项来进行密码效验。

  • 执行MySQL操作语句

验证成功以后将会进入提示符为‘mysql>”的数据库操作环境,用户可以输入各种操作语句对 数据库进行管理.

每条MySQL操作语句以分号 ‘;’ 表示结束,输入时可以不区分大小写。

status; 查看当前数据库服务的基本信息

show databases; 用于查看当前MySOL服务器中包含的库,经初始化后的MySOL服务器,默认建立了四个库:test.mysql.information_schema和performance_schema(其中mysql库是mysql 正常运行所需的库,其中包含了用户认证相关的表),

执行show databases;可以进行查看到

show tables;用于查看当前所在的库中包含的表。在操作之前,需要先使用USE语句切换到所使用的库,例如,执行以下操作可以显示mysql库中包含的所有表

describe用于显示表的结构,即组成表的各字段(列)的信息.需要指定“库名.表名” 作为参数:若只指定表名参数,则需先通过USE语句切换到目标库。

例如.执行以下操作可以查看 mysql库中的user表的结构.与直接执行“DESCRIBE mysql.user:”语句的效果相同。

  • 退出“mysql>” 操作环境

        在“mysql>”操作环境中,执行“exit”或“quit”命令可以退出mysql命令工具.返回原来的 Shell环境.

创建及删除库和表

1.创建新的库

CREATEDATABASE语句:用于创建一个新的库,需指定数据库名称作为参数。例如,执行以下 操作可以创建一个名为auth的库.

刚创建的数据库是空的,其中不包含任何表,在/usr/local/mysql/data 目录下会自动生成一个 与新建的库名相同的文件夹。

 2.创建新的表

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

创建表之前,应先明确数据表格的结构、各字段的名称和类型等信息,例如,若要创建一个包含 用户名、密码字串的用户验证表,应先分析表格结构。 

上述表格中,“用户名”为不超过16字节的字符串,不能为空;“密码字串”为不超过48个字 符的字符串(插入记录时使用MySOL的函数加密).默认值为空字串。考虑到字符集兼容性,最好 不要使用中文字段名,改用user_name,user_passwd分别表示用户名、密码字串,表格中不能拥有同 名的用户.因此可将 user_name作为主键。

        针对上述分析结果,可以在auth库中按如下操作创建users表,其中,字段定义部分的DEFAULT 语句用于设置默认的密码字串,PRIMARY语句用于设置主键字段名。

3.删除一个数据表 

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

例如,执行以下操作可以删除auth库中的users表。

4.删除一个数据库

DROP DATABASE语句:用于删除指定的库,需要指定库名作为参数,

例如,执行以下操作可以 删除名为auth的库.

管理表中的数据记录

1.插入数据记录

INSERT INTO语句:用于向表中插入新的数据记录,语句格式如下所示,

执行以下操作将会向 auth 库中的 users表插入一条记录:用户名为“zhangsan,对应的密码为 “123456”,需注意的是,VALUES部分的值应与前面指定的各字段逐一对应。

        在插入新的数据记录时,如果这条记录完整包括表中所有字段的值,则插入语句中指定字段的 部分可以省略。例如,执行以下操作也可以向auth库中的user表插入一条新的记录:用户名为“lisi” 对应的密码为“654321“

2.查询数据记录

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

        表示所有字段时,可以使用通配符“*”,若要显示所有的数据记录,则可以省略WHERE条件子 句.例如,执行以下操作可以查看auth库中users表内的所有数据记录,其中由于密码字串已加密 因此不会直接显示出实际的密码内容.

         当需要根据特定的条件查找记录时,WHERE条件子句是必不可少的,例如,若要查找users表 中用户名为“zhangsan”的记录,显示其中用户名,密码字段的信息,可以执行以下操作。

3.修改数据记录

UPDATE语句:用于修改、更新表中的数据记录,语句格式如下所示。

        执行以下操作可以修改users表中用户名为“lisi”的记录,将密码字串设为空值,验证记录内容 可以发现 lisi 用户的密码串值已变为空白。

        在MySOL数据库服务器中,用于访问数据库的各种用户(如root)信息都保存在mysql库的user 表中,熟练的管理员可以直接修改其中的数据记录。例如,以下操作可以将数据库用户root的密码 设为“123457”,当再次使用“mysql-u root-p”访问MySOL数据库服务器时,必须使用此密码进 行验证。

        若是在 Linux 命令行环境中执行,还可以使用mysqladmin 工具来设置密码,命令格式为 “mysqladmin-u root-p“旧密码password“新密码“.例如.执行以下操作可将数据库用户root 的密码设置为“123456”。 

4.删除数据记录

DELETE语句:用于删除表中指定的数据记录。语句格式如下所示。

        执行以下操作可以删除users表中用户名为“lisi”的数据记录,验证记录内容可以发现 lisi用户 的数据记录已经消失。

        在MySOL数据库服务器中,默认添加了从本机访问数据库的来宾用户(user.password均为空). 基于数据库安全性考虑,应该删除这些来宾用户。执行以下操作显示user字段为空的用户记录,并用DELETE 语句进行该用户记录的删除。

        先查看

        有两个空用户记录

        用DELETE语句删除该用户的记录

数据库用户授权 

  • 授予权限

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

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

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

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

>DENTIFEDBY:用于设置用户连接数据库时所使用的密码字符串.在新建用户时,若省略 “IDENTIFEDBY”部分,则用户的密码将为空。

        执行以下操作可以添加一个名为“xiaoqi”的数据库用户,并允许其从本机访问,对auth库中的 所有表具有查询权限,验证密码为“123456”.使用GRANT语句授权的用户记录,会保存到mysql 库的user、db,host、tables_priv等相关表中,无须刷新即可生效.

        切换到其他Shell终端,以用户xiaoqi的身份连接数据库,当执行授权的数据库操作时将被允许, 而执行非授权的数据库操作时将被拒绝。例如,允许用户xiaoqi 查询auth 库中 users表的数据记录, 但禁止查询其他库中的表的记录。

        在企业服务器的应用中,数据库与网站服务器有时候是相互独立的。因此在MySQL服务器中. 应根据实际情况创建新的用户授权,允许授权用户从网站服务器访问数据库。通常的做法是,创建 一个或几个网站专用的库,并授予所有权限,限制访问的来源P地址。例如,执行以下操作可以新 建bdqn库,并授权从IP地址为192.168.4.19的主机连接,用户名为“dbuser”.密码为“pwd@123”. 允许在bdqn库中执行所有操作。

  • 查看权限 

SHOWGRANTS语句:专门用来查看数据库用户的授权信息,通过FOR子句可指定查看的用户对象(必须与授权时使用的对象名称一致)语句格式如下所示。

        执行以下操作可以查看用户dbuser从主机192.168.4.19访问数据库时的授权信息。其中USAGE 权限对应的授权记录中包含了用户的连接密码字串。

  • 撤销权限

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

执行以下操作可以撤销用户xiaoqi从本机访问数据库auth的所有权限。

实验案例:MySQL服务器的构建与维护

推荐步骤 

编译安装MySQL数据库系统。

启动mysqld 服务,为root 用户设置密码,删除空用户。  

创建bdon库,stuinfo表。

操作步骤

设置root用户密码为12357

mysql> update mysql.user set password=password('123457') where user='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4  Changed: 4  Warnings: 0

mysql> flush privileges;            //刷新用户授权信息
Query OK, 0 rows affected (0.00 sec)

删除密码为空的用户记录

mysql> delete from mysql.user where user='';
Query OK, 2 rows affected (0.00 sec)

新建bdqn库

mysql> create database bdqn;
Query OK, 1 row affected (0.01 sec)

添加一个名为'rundb'的数据用户,并允许其从本机访问,对bdqn库中的所有表具有所有权限,验证密码为'123456'。

mysql> grant all on bdqn.* to 'rundb'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

查询‘rundb’用户在本机的权限,权限为所有all

mysql> show grants for 'rundb'@'localhost';
+--------------------------------------------------------------------------------------------------------------+
| Grants for rundb@localhost                                                                                   |
+--------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'rundb'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT ALL PRIVILEGES ON `bdqn`.* TO 'rundb'@'localhost'                                                      |
+--------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

 以rundb用户登录数据库

[root@lgcllc ~]# mysql -urundb -p123456
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.36 Source distribution

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

接着在bdqn库建立stuinfo表

mysql> use bdqn;
Database changed
mysql> create table stuinfo (姓名 char(16) not null, 性别 char(5) not null, 年龄 varchar(3) not null, 联系电话 varchar(11) not null,  邮箱地址 char(50) not null);
Query OK, 0 rows affected (0.01 sec)

填入数据

mysql> insert into stuinfo values('张无忌','男','19','17512345678','wuji.zhang@mingchao.org');
Query OK, 1 row affected (0.00 sec)

mysql> insert into stuinfo values('白居易','男','24','17587654321','juyi.bai@tangchao.org');
Query OK, 1 row affected (0.00 sec)

mysql> insert into stuinfo values('蓝采和','女','21','17255201314','caihe.lan@wudaisong.org');
Query OK, 1 row affected (0.00 sec)



mysql> insert into stuinfo values('','','','','');   //添加了一行为空的数据
Query OK, 1 row affected (0.00 sec)            

mysql> delete from stuinfo where 姓名='';          //删除为空的数据行
Query OK, 1 row affected (0.00 sec) 

实验结果

select * from bdqn.stuinfo; 语句查看创建的stuinfo表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/241499.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue3-13- 【v-for】循环一个对象

说明 v-for 这个东西就很神奇,可以遍历一个对象, 当然,它遍历对象是通过 对象的属性名,遍历对象的属性值。语法格式如下 : v-for"(value,key,index) in objName" value : 属性的值 key :属性的k…

商品规格的实现

在商城项目中购买商品或者添加购物车的时候都会让我们去选择商品的规格,颜色、尺码、风格等,这里把刚做完的此功能代码记录下,方便以后查阅: <template><view><u-navbar title="测试"></u-navbar><view class="content"&g…

多篇整合版:最全电商erp系统接口测试实战

之前我们讲了电商ERP系统接口简介以及如何使用post方式获取接口请求 &#xff0c;今天我们来讲解如何用JMeter实现接口功能、性能测试。 内容&#xff1a; JMeter实现接口功能测试 JMeter实现接口的性能测试 JMeter实现接口功能测试 企业性能测试编写脚本过程&#xff1a;接口…

java学生选课系统 数据库版

首先让我们创建一个数据库 让我们向表中插入数据然后查询它

WSL 配置 Docker 内存和 CPU 资源限制

我用的电脑一共有40G内存&#xff0c;最近发现电脑重启后&#xff0c;VmmemWSL 进程很快就会占用一多半的内存&#xff08;20G&#xff09;&#xff0c;电脑中有多个停止运行的容器&#xff0c;正常启动状态的只有一个 MySQL 服务&#xff0c;通过 docker stats 查看占用内存也…

【详解优先级队列(堆)】

目录 堆的概念 堆的性质 堆的存储方式 堆的创建 堆的向下调整 向下过程(以小堆为例) 向下过程(以大堆为例) 建堆的时间复杂度O(n) 堆的插入与删除 堆的插入 向上调整建堆的时间复杂度O(nlogn) 堆的删除 常见习题 常用接口介绍 PriorityQueue的特性 Pri…

实战1-python爬取安全客新闻

一般步骤&#xff1a;确定网站--搭建关系--发送请求--接受响应--筛选数据--保存本地 1.拿到网站首先要查看我们要爬取的目录是否被允许 一般网站都会议/robots.txt目录&#xff0c;告诉你哪些地址可爬&#xff0c;哪些不可爬&#xff0c;以安全客为例子 2. 首先测试在不登录的…

使用MIB builder自定义物联网网关的MIB结构

文章目录 物联网网关初识&#xff08;了解即可&#xff09;IoT的通用MIB库结构MIB Builder开发流程指导问题总结子叶没所属分组值范围不为0 物联网网关初识&#xff08;了解即可&#xff09; 网关又称网间连接器、协议转换器。简单说&#xff0c;物联网网关是一台智能计算机&a…

【Java】网络编程-UDP回响服务器客户端简单代码编写

这一篇文章我们将讲述网络编程中UDP服务器客户端的编程代码 1、前置知识 UDP协议全称是用户数据报协议&#xff0c;在网络中它与TCP协议一样用于处理数据包&#xff0c;是一种无连接的协议。 UDP的特点有&#xff1a;无连接、尽最大努力交付、面向报文、没有拥塞控制 本文讲…

《算法通关村——回溯模板如何解决回溯问题》

《算法通关村——回溯模板如何解决回溯问题》 93. 复原 IP 地址 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 . 分隔。 例如&#xff1a;"0.1.2.201" 和 "192.1…

IDEA2023找不到add framework support怎么解决

问题: 我的idea版本是2023.01&#xff0c;新版idea右键项目没有Add Framework Support&#xff0c;help里面也找不到相关的。 从project structue的facets里面添加就行了&#xff0c;都是一样的。 1.依旧是新建一个项目 2.file-->project structure--->facets 左上角加…

JavaEE 09 锁策略

1.锁策略 1.1 乐观锁与悲观锁 其实前三个锁是同一种锁,只是站在不同的角度上去进行描述,此处的乐观与悲观其实是指在预测的角度上看会发生锁竞争的概率大小,概率大的则是悲观锁,概率小的则是乐观锁 乐观锁在加锁的时候就会做较少的事情,加锁的速度较快,但是消耗的cpu资源等也会…

crmeb v5自动生成代码报错(adminInfo方法或404路由不存在的问题)

404 现象 调试器中出现了404 , 那肯定是路由出了问题,也就是说,crmeb 为我们生成的路由没有对应的加载上,先来看一下, 自动代码为我们生成的路由是什么样子的 所以有一种最简单的解决办法,就是 把 新生成的路由文件从子目录中挪出一级来,就可以解决404的问题了 下面来说…

python学习:浅拷贝与深拷贝详解

copy 一、 & is二、浅拷贝 & 深拷贝(一)、浅拷贝(二)、深拷贝 三、问题 一、’ ’ & ‘is’ ’ 和is是python对象比较常用的两种方式,简单来说,‘ ‘操作符比较对象之间的值是否相等,如 a b 而’is’操作符比较的是对象的身份标识是否相等,即它们是否是同一个…

「玩转 TableAgent 数据智能分析」实战数据分析演练

文章目录 前言TableAgent 功能亮点人人都是数据分析师融合创新应用的新成果 TableAgent 使用介绍登陆功能介绍申请认证 实战数据集分析一导入 CSV 文件数据发起提问TableAgent 应答结果贴切的服务推荐问题提问 实战数据集分析二分析结果分析哪个城市的未来人口最多 总结 TableA…

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

一、认识数据库系统&#xff1a; MySQL数据库系统也是一个典型的C/S(客户端/服务器&#xff09;架构的应用&#xff0c;要访问MySQL数据库需要使用专门的客户端软件。在Linux系统中&#xff0c;最简单、易用的MySQL客户端软件是其自带的mysql命令工具。 1&#xff0e;登录到My…

光伏开发设计施工一体化系统都有哪些功能?

随着全球对可再生能源的需求不断增加&#xff0c;光伏行业得到了快速发展。同时也面临着一些挑战&#xff0c;例如初始投资成本高、需要大量土地和水资源等。鹧鸪云光伏与储能软件利用技术创新&#xff0c;促进光伏行业数字化升级。 一、智能测算 1.投融资表&#xff1a;采用…

【FPGA/verilog -入门学习6】verilog频率计数器

需求 在使能信号控制下&#xff0c;计算输入脉冲的每两个上升沿之间的时钟周期数并输出&#xff0c;即输出脉冲频率的计数值 输入信号 周期性脉冲信号&#xff1a;需要做检测的脉冲频率信号 使能信号&#xff1a;高电平进行频率计数&#xff0c;低电平清零计数器 输出信号 计数…

bootstrap:下拉菜单

<!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>下拉菜单DEMO</title> <link rel"stylesheet" type"text/css" href"/cdn.bootcss.com/bootstrap/3.3.2/css/bootstrap.min.css"…

TCP/IP详解——网络基本概念

文章目录 一、网络基本概念1. OSI 7层模型1.1 每层对应的协议1.2 每层涉及的设备1.2.1 物理层设备1.2.2 数据链路层设备1.2.3 网络层设备1.2.4 传输层设备1.2.5 交换机和路由器的应用1.2.6 问题 2. TCP/IP 4层模型3. 物理层传输介质3.1 冲突域 4. 数据链路层4.1 以太网帧结构4.…