当前位置: 首页 > 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的子查…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...