从零学习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的一种) 数据库中的常用名词 1.字段 :表格中的表头 2.表 &…...
数据脱敏和数据加密有什么区别
数据脱敏:主要是为了兼顾数据安全与数据使用,采用专业的数据脱敏算法。 数据加密:通过对数据进行编码来保护数据,获取实际值的唯一方法是使用解密密钥解码数据。 数据加密是可逆的,数据脱敏是不可逆的。 处理方法不同 保护内容…...
主流排序算法
冒泡排序(Bubble Sort): 基本思想:通过比较相邻元素的大小,不断交换相邻元素的位置,使得较大的元素逐渐“浮”到数组的最后。时间复杂度:O(n^2)。 选择排序(Selection Sort…...
MySql的使用方法
一.什么是MySql MySql是一种数据库管理系统,是用来存储数据的,可以有效的管理数据,数据库的存储介质为硬盘和内存。 和文件相比,它具有以下优点: 文件存储数据是不安全的,且不方便数据的查找和管理…...
C#,数据检索算法之三元搜索(Ternary Search)的源代码
数据检索算法是指从数据集合(数组、表、哈希表等)中检索指定的数据项。 数据检索算法是所有算法的基础算法之一。 本文发布 三元搜索(Ternary Search)的源代码。 1 文本格式 using System; namespace Legalsoft.Truffer.Algo…...
windbg:常用指令
windbg 调试 参考文档 1、viewing-and-editing-global-variables-in-windbg WinDBG 常用调试命令 加载符号 .sympath // 查看当前符号查找路径 .sympath c:\symbols // 将符号查找路径设为:c:\symbols .sympath c:\symbols // 将c:\symbols添加…...
23. 集合类
集合 1. 概述2. 分类2.1 单列集合(Collection)2.2 双列集合(Map) 单列集合 Collection、List、Set、ArrayList、LinkedList’、Vector、HashSet、TreeSet、LinkedHashSet双列集合 Map、HashTable、HashMap、TreeMap、Properties、…...
OpenAI平台:引领人工智能的创新与应用
在当今迅速发展的技术世界中,OpenAI已成为人工智能(AI)研究和应用的先驱。作为一个致力于确保人工智能的安全和广泛受益的组织,OpenAI通过其平台提供了一系列强大的工具和API,这些工具和API正在重塑我们与技术的互动方…...
redis原理(五)Lua语言
一、介绍: 1、背景: 在 Redis 的 2.6 以上版本中,除了可以使用命令外,还可以使用 Lua 语言操作 Redis。 Redis 命令的计算能力并不算很强大,而使用 Lua 语言则在很大程度上弥补了 Redis 的这个不足。 2、特点&#…...
SOHO外贸怎么建网站?做海洋建站的步骤?
SOHO外贸如何做跨境独立站?搭建外贸自建站的策略? 一位成功的SOHO外贸从业者不仅需要精湛的贸易技能,还需要一个优质的网站来展示产品、与客户互动,并建立强大的在线品牌形象。海洋建站将探讨在SOHO外贸领域如何建立一个成功的网…...
[论文阅读] |RAG评估_Retrieval-Augmented Generation Benchmark
写在前面 检索增强能够有效缓解大模型存在幻觉和知识时效性不足的问题,RAG通常包括文本切分、向量化入库、检索召回和答案生成等基本步骤。近期组里正在探索如何对RAG完整链路进行评估,辅助阶段性优化工作。上周先对评估综述进行了初步的扫描࿰…...
【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有哪些适合的场景
🍎个人博客:个人主页 🏆个人专栏:Redis ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 (1)会话缓存(Session Cache) (2)全页缓存(FPC…...
uniapp上传音频文件到服务器
视频教程地址: 【uniapp录音上传组件,将录音上传到django服务器】 https://www.bilibili.com/video/BV1wi4y1p7FL/?share_sourcecopy_web&vd_sourcee66c0e33402a09ca7ae1f0ed3d5ecf7c uniapp 录制音频文件上传到django服务器保存到服务器 …...
C#-正则表达式
1.C#功能点: 验证格式:通过正则表达式,我们可以检查一个字符串是否符合特定的格式要求,例如验证邮箱、电话号码、身份证号码等。 查找和提取:我们可以使用正则表达式来查找字符串中符合特定模式的部分,并将…...
【word】论文、报告:①插入图表题注,交叉引用②快速插入图表目录③删改后一键更新
【word】①插入图表题注,②删改后一键更新 写在最前面插入题注交叉引用修改插入题注的文字格式快速插入图表目录 插入题注后有删改,实现编号一键更新 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你…...
Spring Security 的TokenStore三种实现方式
博主介绍:✌专注于前后端领域开发的优质创作者、秉着互联网精神开源贡献精神,答疑解惑、坚持优质作品共享。本人是掘金/腾讯云/阿里云等平台优质作者、擅长前后端项目开发和毕业项目实战,深受全网粉丝喜爱与支持✌有需要可以联系作者我哦&…...
微信小程序 图片自适应高度 宽度 完美适配原生或者uniapp
-- - - - 查了一下百度看到网上图片高度自适应的解决方案 基本是靠JS获取图片的宽度进行按比例计算得出图片高度。 不是很符合我的需求/ 于是我脑瓜子一转 想到一种新的解决方案 不用JS计算也能完美解决。 我写了一个组件,直接导入可以使用。 - - - 1.新…...
Go语言基础之反射
1.变量的内在机制 Go语言中的变量是分为两部分的: 类型信息:预先定义好的元信息。值信息:程序运行过程中可动态变化的。 2.反射介绍 反射是指在程序运行期间对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址ÿ…...
MySQL十部曲之六:数据操作语句(DML)
文章目录 前言语法约定DELETEINSERTSELECT查询列表SELECT 选项子句FROMWHEREORDER BYGROUP BYHAVINGWINDOWLIMITFOR SELECT ... INTO连接查询CROSS JOIN和INNER JOINON和USINGOUTER JOINNATURE JOIN 子查询标量子查询使用子查询进行比较带有ANY、IN或SOME的子查询带有ALL的子查…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
