从零学习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的子查…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
算法打卡第18天
从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7…...
