从零学习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信息也可以不进行更改

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业为何对数据可视化越发看重?

数据可视化&#xff0c;作为信息时代的一项重要技术&#xff0c;正在企业中崭露头角&#xff0c;逐渐成为业务决策和运营管理的得力助手。企业之所以对数据可视化如此重视&#xff0c;是因为它为企业带来了诸多实际利益和战略优势。 首先&#xff0c;数据可视化为企业提供了更…

HiveSQL题——排序函数(row_number/rank/dense_rank)

一、窗口函数的知识点 1.1 窗户函数的定义 窗口函数可以拆分为【窗口函数】。窗口函数官网指路&#xff1a; LanguageManual WindowingAndAnalytics - Apache Hive - Apache Software Foundationhttps://cwiki.apache.org/confluence/display/Hive/LanguageManual%20Windowin…

盛最多水的容器[中等]

一、题目 给定一个长度为n的整数数组height。有n条垂线&#xff0c;第i条线的两个端点是(i, 0)和(i, height[i])。找出其中的两条线&#xff0c;使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。也就是求x轴与y轴的面积。 说明&#xff1a;你不能倾…

HCIE之BGP正则表达式(四)

BGP 一、AS-Path正则表达式数字| 等同于或的关系[]和.$ 一个字符串的结束_代表任意^一个字符串的开始()括号包围的是一个组合\ 转义字符* 零个或多个&#xff1f;零个或一个一个或多个 二、BGP对等体组三、BGP安全性 一、AS-Path正则表达式 正则表达式是按照一定模版匹配字符串…

解决 Required Integer parameter ‘uid‘ is not present

1.原因分析 后端没接收到uid可能是前端没传递uid也可能是前端传递了uid&#xff0c;但是传递方式与后端接收方式不匹配&#xff0c;导致没接收到更大的可能是因为后端请求方式错了。比如&#xff1a; 2.解决方案 先确定前端传参方式与后端请求方式是匹配的后端get请求的话…

SpringMvc切换Json转换工具

SpringBoot切换使用goolge的Gson作为SpringMvc的Json转换工具 <!-- gson依赖 --> <dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId> </dependency>Configuration public class JsonWebConfig {B…

Docker 和 Kubernetes:容器化时代的崛起与演变

在过去的十年间&#xff0c;容器化技术彻底改变了软件开发和部署的面貌。 Docker 的登场无疑是这场变革的催化剂&#xff0c;它将应用和服务的打包、分发、部署流程标准化&#xff0c;让开发者的生活变得更加简单。 紧随其后&#xff0c;Kubernetes 作为容器编排的领军者&#…

【通讯录案例-一些细节的补充 Objective-C语言】

一、好,这个里边儿啊,我们在示例程序里边儿,我们当前做的程序,左边,这个屏幕左边,和这个tableView的Cell这一块儿, 1.左边,是有一个小的间距,是吧, 我现在想把这个间距,取消掉, 怎么着来做, 1)首先:tableView,是吧,我们这个控制器是什么,是“联系人列表”…

【网络】WireShark过滤 | WireShark实现TCP三次握手和四次挥手

目录 一、开启WireShark的大门 1.1 WireShark简介 1.2 常用的Wireshark过滤方式 二、如何抓包搜索关键字 2.1 协议过滤 2.2 IP过滤 ​编辑 2.3 过滤端口 2.4 过滤MAC地址 2.5 过滤包长度 2.6 HTTP模式过滤 三、ARP协议分析 四、WireShark之ICMP协议 五、TCP三次握…

MySQL 学习记录

基本常识 row-size-limitsblob&#xff1a; BLOB and TEXT columns cannot have DEFAULT values.Instances of BLOB or TEXT columns in the result of a query that is processed using a temporary table causes the server to use a table on disk rather than in memory b…

SQL注入:二次注入

SQL注入系列文章&#xff1a; 初识SQL注入-CSDN博客 SQL注入&#xff1a;联合查询的三个绕过技巧-CSDN博客 SQL注入&#xff1a;报错注入-CSDN博客 SQL注入&#xff1a;盲注-CSDN博客 目录 什么是二次注入&#xff1f; 二次注入演示 1、可以注册新用户 2、可以登录->…

防御保护--NAT策略

目录 NAT策略 NAT类型 server-map表 P2P --- peer to peer 网络类型 ​编辑 目标NAT--服务器映射 双向NAT ​编辑 多出口NAT NAT策略 静态NAT --- 一对一 动态NAT --- 多对多 NAPT --- 一对多的NAPT --- easy ip --- 多对多NAPT 服务器映射 源NAT--基于源IP地址进行转…

IDEA插件(MyBatis Log Free)

引言 在Java开发中&#xff0c;MyBatis 是一款广泛使用的持久层框架&#xff0c;它简化了SQL映射并提供了强大的数据访问能力。为了更好地调试和优化MyBatis应用中的SQL语句执行&#xff0c;一款名为 MyBatis Log Free 的 IntelliJ IDEA 插件应运而生。这款插件旨在帮助开发者…

扭蛋机小程序开发:创新体验与商业机会

一、引言 随着移动应用的普及&#xff0c;小程序已经成为一种新型的应用形式&#xff0c;以其轻便、快捷、无需安装等优点深受用户喜爱。扭蛋机作为一种常见的娱乐设备&#xff0c;其小程序开发将带来全新的用户体验&#xff0c;同时也为企业带来了商业机会。本文将探讨扭蛋机…

阿里云发送短信

0.阿里云文档地址 可以设置测试手机号 1.引入依赖 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId></dependency><dependency><groupId>com.aliyun</groupId><artifactId…

LLM大语言模型(五):用streamlit开发LLM应用

目录 背景准备工作切记streamlit开发LLM demo开一个新页面初始化session先渲染历史消息接收用户输入模拟调用LLM 参考 背景 Streamlit是一个开源Python库&#xff0c;可以轻松创建和共享用于机器学习和数据科学的漂亮的自定义web应用程序&#xff0c;用户可以在几分钟内构建一…

ES6.8.6 创建索引配置分词器、映射字段指定分词器、查询数据高亮显示分词结果(内置分词器、icu、ik、pinyin分词器)

文章目录 ES环境内置分词器&#xff0c;以simple分词器示例查询创建索引simple_news&#xff0c;修改分词器为simple插入模拟数据分词查询&#xff1a;返回通过分词查询到的结果、高亮分词分词匹配&#xff1a;写一次示例&#xff0c;其他分词和匹配思路基本一致第一步&#xf…

What is Rust? Why Rust?

why Rust&#xff1f; 目前&#xff0c;Rust 变得越来越流行。然而&#xff0c;仍然有很多人&#xff08;和公司&#xff01;&#xff09;误解了 Rust 的主张价值是什么&#xff0c;甚至误解了它是什么。在本文中&#xff0c;我们将讨论 Rust 是什么以及为什么它是一种可以增强…

laravel框架项目对接小程序实战经验回顾

一.对接小程序总结 1.状态转换带来的问题&#xff0c;如下 问题原因&#xff1a;由于status 传参赋值层级较多&#xff0c;导致后续查询是数组但是传参是字符串&#xff0c; 解决方案&#xff1a;互斥的地方赋值为空数组&#xff0c;有状态冲突的地方unset掉不需要的参数 2参…

【数字电子技术课程设计】多功能数字电子钟的设计

目录 摘要 1 设计任务要求 2 设计方案及论证 2.1 任务分析 2.1.1 晶体振荡器电路 2.1.2 分频器电路 2.1.3 时间计数器电路 2.1.4 译码驱动电路 2.1.5 校时电路 2.1.6 整点报时/闹钟电路 2.2 方案比较 2.3 系统结构设计 2.4 具体电路设计 3 电路仿真测试及结…