当前位置: 首页 > news >正文

从零学习Linux操作系统 第二十部分 mariadb数据库的管理

一、对于数据库的基本介绍

1.什么是数据库
数据库就是个高级的表格软件

2.常见数据库
Mysql Oracle mongodb db2 sqlite sqlserver …

3.Mysql (SUN -----> Oracle)

4.mariadb (Mysql的一种)

数据库中的常用名词
1.字段 :表格中的表头
2.表 :表格
3.库 :存放表格的目录
4.查询 :对表格中的指定内容进行查看

二、数据库的安装及安全初始化

(一)mariadb的安装

dnf install mariadb-server.x86_64 -y

在这里插入图片描述
启动程序
systemctl enable --now mariadb
在这里插入图片描述

(二)软件的基本信息

启动服务 mariadb.service
默认端口号 3306
主配置文件 /etc/my.cnf.d/mariadb-server.cnf
数据目录 /var/lib/mysql (当需要重新安装mariadb时需要清理此目录或备份)

(三)数据库的安全初始化

1、关闭数据库开放端口

编辑配置文件
在这里插入图片描述
重启服务 systemctl restart mariadb

2、执行安全初始化脚本

数据库安全初始化脚本
mysql_secure_installation
在这里插入图片描述
在这里插入图片描述
设定完密码之后 所有问题全部选是

mysql -uroot -p ## -u 指定登陆用户 -p 密码
在这里插入图片描述

三、数据库的基本管理

首先登陆数据库
mysql -uroot -p
在这里插入图片描述

(一)查看

USE mysql;进入mysql库
SHOW DATABASES;显示库名称
SHOW TABLES;显示库中的所有表
SELECT * FROM user;查询所有数据
SELECT Host,User,Password FROM user;查询指定字段

(二)新建

1、 新建库

CREATE DATABASE westos;

在这里插入图片描述

2、新建表

CREATE TABLE westos.userlist (
在这里插入图片描述
尽量打了(之后 在下一行编写字段信息
再);执行
便于排错
在这里插入图片描述
在这里插入图片描述
插入数据
INSERT INTO westos.userlist VALUES (‘user1’,‘123’);

在这里插入图片描述

(三)更改

1、更改库

在这里插入图片描述
一般情况下不会更改库的名字,容易造成数据混淆

登陆数据目录
在这里插入图片描述
将想要更改的库的名字改掉
在这里插入图片描述

2、更改表

USE westos;进入westos库

在这里插入图片描述
更改表的名字
ALTER TABLE userlist RENAME linux;

在这里插入图片描述
更改表的结构

添加一个年龄(添加一个age字段)
ALTER TABLE userlist ADD age varchar(4) AFTER password;
在这里插入图片描述
放弃一个字段
在这里插入图片描述
更改表头数据
UPDATE user list set age=18;
在这里插入图片描述
指定一个修改
UPDATE userlist set age=20 WHERE username=‘user1’;

在这里插入图片描述

(四)删除

删除用户
DELETE FROM userlist WHERE username=‘user’ AND age=‘18’;
在这里插入图片描述
删除表头数据
ALTER TABLE userlist DROP age;

在这里插入图片描述

删除表
DROP TABLE userlist;
在这里插入图片描述

删除库
DROP DATABASE westos;
在这里插入图片描述

四、数据库的密码管理

(一)数据库密码更改

将数据库的密码从westos 改为lee
mysqladmin -uroot -pwestos password lee
在这里插入图片描述

(二)数据库密码破译

第一步 关闭数据库
systemctl stop mariadb
第二步 启动数据库的安全模式
mysqld_safe --skip-grant-tables &

接下来不需要密码直接可以进入到数据库
在这里插入图片描述
然后 需要更新数据库的信息
更改密码存放的字段的内容

UPDATE mysql.user SET authentication_string=password(‘westos’) WHERE User=‘root’;
在这里插入图片描述
把所有数据库的进程全部过滤出来
ps aux | grep mysql

然后需要结束掉

kill -9 mysql的所有进程
在这里插入图片描述

这样mysql才能重启

重启数据库
systemctl start mariadb

五、数据库的授权操作

CREATE USER lee@‘%’ identified by ‘lee’;
%表示登陆数据库的主机可以是任意主机

CREATE USER lee@‘localhost’ identified by ‘lee’;
localhost表示lee只能再数据库所在的主机中使用

在这里插入图片描述
先建立一个数据库
CREATE DATABASE westos;

再建立一个表
CREATE TABLE westos.userlist (
username varchar(10) not null,
password varchar(50) not null
);
在这里插入图片描述

用lee用户登陆数据库
mysql -ulee -plee
在这里插入图片描述
此时lee用户没有权利查看库
在这里插入图片描述

退出
使用root超级用户登陆并且予之授权
mysql -uroot -p

查看用户的权利
SHOW GRANTS for lee@localhost;
在这里插入图片描述
授权
GRANT INSERT,SELECT ON westos.* TO lee@localhost;
在这里插入图片描述
收回权利 收回INSERT权利
REVOKE INSERT ON westos.* FROM lee@localhost;
在这里插入图片描述

六、数据库的备份及还原

不用进入数据库执行命令
mysql -uroot -p -e “命令”
在这里插入图片描述

备份所有的库
mysqldump -u root -p --all-database

备份 只是需要表不需要里面的数据
mysqldump -u root -p --all-database --no–data

备份指定的库
mysqldump -u root -p westos

输出到文件中
mysqldump -u root -p westos > /mnt/westos.sql
在这里插入图片描述

把数据库中westos库删掉
mysql -uroot -pwestos -e “DROP DATABASE westos;”
在这里插入图片描述

如何将备份出来的westos.sql文件复原

第一种方法 先建立一个库 再将备份文件导入库中

建立一个库
mysql -uroot -pwestos -e “create database westos;”

备份文件导入库中
mysql -uroot -pwestos westos < /mnt/westos.sql

在这里插入图片描述

第二种方法 编辑配置文件
vim /mnt/westos.sql
在这里插入图片描述
再导入
mysql -uroot -pwestos < /mnt/westos.sql

在这里插入图片描述

七、数据库的web控制器

安装phpmyadmin的运行环境

dnf install httpd php php-mysqlnd -y
在这里插入图片描述
开启服务
systemctl enable --now httpd

让火墙运行我们能使用
firewall-cmd --permanent --add-service=http

在这里插入图片描述
将phpmyadmin压缩包解开到默认发布目录

tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 -c /var/www/html/
在这里插入图片描述

从文本模板生成配置文件
cp config.sample.inc.php config.inc.php

可以输入自己的ip信息也可以不进行更改

在这里插入图片描述
接下来就可以利用图形控制数据库

在这里插入图片描述

相关文章:

从零学习Linux操作系统 第二十部分 mariadb数据库的管理

一、对于数据库的基本介绍 1.什么是数据库 数据库就是个高级的表格软件 2.常见数据库 Mysql Oracle mongodb db2 sqlite sqlserver … 3.Mysql (SUN -----> Oracle) 4.mariadb (Mysql的一种&#xff09; 数据库中的常用名词 1.字段 &#xff1a;表格中的表头 2.表 &…...

数据脱敏和数据加密有什么区别

数据脱敏&#xff1a;主要是为了兼顾数据安全与数据使用&#xff0c;采用专业的数据脱敏算法。 数据加密:通过对数据进行编码来保护数据&#xff0c;获取实际值的唯一方法是使用解密密钥解码数据。 数据加密是可逆的&#xff0c;数据脱敏是不可逆的。 处理方法不同 保护内容…...

主流排序算法

冒泡排序&#xff08;Bubble Sort&#xff09;&#xff1a; 基本思想&#xff1a;通过比较相邻元素的大小&#xff0c;不断交换相邻元素的位置&#xff0c;使得较大的元素逐渐“浮”到数组的最后。时间复杂度&#xff1a;O(n^2)。 选择排序&#xff08;Selection Sort&#xf…...

MySql的使用方法

一.什么是MySql MySql是一种数据库管理系统&#xff0c;是用来存储数据的&#xff0c;可以有效的管理数据&#xff0c;数据库的存储介质为硬盘和内存。 和文件相比&#xff0c;它具有以下优点&#xff1a; 文件存储数据是不安全的&#xff0c;且不方便数据的查找和管理&#xf…...

C#,数据检索算法之三元搜索(Ternary Search)的源代码

数据检索算法是指从数据集合&#xff08;数组、表、哈希表等&#xff09;中检索指定的数据项。 数据检索算法是所有算法的基础算法之一。 本文发布 三元搜索&#xff08;Ternary Search&#xff09;的源代码。 1 文本格式 using System; namespace Legalsoft.Truffer.Algo…...

windbg:常用指令

windbg 调试 参考文档 1、viewing-and-editing-global-variables-in-windbg WinDBG 常用调试命令 加载符号 .sympath // 查看当前符号查找路径 .sympath c:\symbols // 将符号查找路径设为&#xff1a;c:\symbols .sympath c:\symbols // 将c:\symbols添加…...

23. 集合类

集合 1. 概述2. 分类2.1 单列集合&#xff08;Collection&#xff09;2.2 双列集合&#xff08;Map&#xff09; 单列集合 Collection、List、Set、ArrayList、LinkedList’、Vector、HashSet、TreeSet、LinkedHashSet双列集合 Map、HashTable、HashMap、TreeMap、Properties、…...

OpenAI平台:引领人工智能的创新与应用

在当今迅速发展的技术世界中&#xff0c;OpenAI已成为人工智能&#xff08;AI&#xff09;研究和应用的先驱。作为一个致力于确保人工智能的安全和广泛受益的组织&#xff0c;OpenAI通过其平台提供了一系列强大的工具和API&#xff0c;这些工具和API正在重塑我们与技术的互动方…...

redis原理(五)Lua语言

一、介绍&#xff1a; 1、背景&#xff1a; 在 Redis 的 2.6 以上版本中&#xff0c;除了可以使用命令外&#xff0c;还可以使用 Lua 语言操作 Redis。 Redis 命令的计算能力并不算很强大&#xff0c;而使用 Lua 语言则在很大程度上弥补了 Redis 的这个不足。 2、特点&#…...

SOHO外贸怎么建网站?做海洋建站的步骤?

SOHO外贸如何做跨境独立站&#xff1f;搭建外贸自建站的策略&#xff1f; 一位成功的SOHO外贸从业者不仅需要精湛的贸易技能&#xff0c;还需要一个优质的网站来展示产品、与客户互动&#xff0c;并建立强大的在线品牌形象。海洋建站将探讨在SOHO外贸领域如何建立一个成功的网…...

[论文阅读] |RAG评估_Retrieval-Augmented Generation Benchmark

写在前面 检索增强能够有效缓解大模型存在幻觉和知识时效性不足的问题&#xff0c;RAG通常包括文本切分、向量化入库、检索召回和答案生成等基本步骤。近期组里正在探索如何对RAG完整链路进行评估&#xff0c;辅助阶段性优化工作。上周先对评估综述进行了初步的扫描&#xff0…...

【Linux】动态库和静态库——动态库和静态库的打包和使用、gcc编译、拷贝到系统默认的路径、建立软连接

文章目录 动态库和静态库1.静态库和动态库的介绍2.静态库的打包和使用2.1生成静态库2.2使用静态库的三种方式2.2.1gcc编译2.2.2拷贝到系统默认的路径2.2.3建立软连接 3.动态库的打包和使用3.1生成动态库3.2使用动态库3.3解决加载不到动态库的方法 动态库和静态库 1.静态库和动…...

【Redis】Redis有哪些适合的场景

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Redis ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 &#xff08;1&#xff09;会话缓存&#xff08;Session Cache&#xff09; &#xff08;2&#xff09;全页缓存&#xff08;FPC…...

uniapp上传音频文件到服务器

视频教程地址&#xff1a; 【uniapp录音上传组件&#xff0c;将录音上传到django服务器】 https://www.bilibili.com/video/BV1wi4y1p7FL/?share_sourcecopy_web&vd_sourcee66c0e33402a09ca7ae1f0ed3d5ecf7c uniapp 录制音频文件上传到django服务器保存到服务器 &#xf…...

C#-正则表达式

1.C#功能点&#xff1a; 验证格式&#xff1a;通过正则表达式&#xff0c;我们可以检查一个字符串是否符合特定的格式要求&#xff0c;例如验证邮箱、电话号码、身份证号码等。 查找和提取&#xff1a;我们可以使用正则表达式来查找字符串中符合特定模式的部分&#xff0c;并将…...

【word】论文、报告:①插入图表题注,交叉引用②快速插入图表目录③删改后一键更新

【word】①插入图表题注&#xff0c;②删改后一键更新 写在最前面插入题注交叉引用修改插入题注的文字格式快速插入图表目录 插入题注后有删改&#xff0c;实现编号一键更新 &#x1f308;你好呀&#xff01;我是 是Yu欸 &#x1f30c; 2024每日百字篆刻时光&#xff0c;感谢你…...

Spring Security 的TokenStore三种实现方式

博主介绍&#xff1a;✌专注于前后端领域开发的优质创作者、秉着互联网精神开源贡献精神&#xff0c;答疑解惑、坚持优质作品共享。本人是掘金/腾讯云/阿里云等平台优质作者、擅长前后端项目开发和毕业项目实战&#xff0c;深受全网粉丝喜爱与支持✌有需要可以联系作者我哦&…...

微信小程序 图片自适应高度 宽度 完美适配原生或者uniapp

-- - - - 查了一下百度看到网上图片高度自适应的解决方案 基本是靠JS获取图片的宽度进行按比例计算得出图片高度。 不是很符合我的需求/ 于是我脑瓜子一转 想到一种新的解决方案 不用JS计算也能完美解决。 我写了一个组件&#xff0c;直接导入可以使用。 - - - 1.新…...

Go语言基础之反射

1.变量的内在机制 Go语言中的变量是分为两部分的: 类型信息&#xff1a;预先定义好的元信息。值信息&#xff1a;程序运行过程中可动态变化的。 2.反射介绍 反射是指在程序运行期间对程序本身进行访问和修改的能力。程序在编译时&#xff0c;变量被转换为内存地址&#xff…...

MySQL十部曲之六:数据操作语句(DML)

文章目录 前言语法约定DELETEINSERTSELECT查询列表SELECT 选项子句FROMWHEREORDER BYGROUP BYHAVINGWINDOWLIMITFOR SELECT ... INTO连接查询CROSS JOIN和INNER JOINON和USINGOUTER JOINNATURE JOIN 子查询标量子查询使用子查询进行比较带有ANY、IN或SOME的子查询带有ALL的子查…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

nnUNet V2修改网络——暴力替换网络为UNet++

更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...

《Docker》架构

文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器&#xff0c;docker&#xff0c;镜像&#xff0c;k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...

【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统

Kafka从入门到实战:构建高吞吐量分布式消息系统 一、Kafka概述 Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache顶级项目。它被设计用于高吞吐量、低延迟的消息处理,能够处理来自多个生产者的海量数据,并将这些数据实时传递给消费者。 Kafka核心特…...