MYSQL概念和编译安装

news2025/2/25 9:46:18

目录

一、数据库概述

1.1数据

1.2表

1.3数据库

总结: 

2.数据库管理系统(DBMS)

3.DBMS工作模式

4.数据库系统原理

二、数据库发展史

三、主流数据库

四、关系型数据库和非关系型数据库

1.关系型数据库

2.非关系数据库

MYSQL数据库

二、编译安装MYSQL

1.关闭防火墙和selinux

2.安装mysql环境依赖包

3.创建运行用户

4.去opt下,下载安装包

5.编译

6.安装

7.更改mysql安装目录和配置文件的属主属组

8.修改mysql配置文件

9.设置路径环境变量

10.初始化数据库

11.添加mysql系统服务

12.修改mysql登录密码

13.授权远程登录

14.查看数据库

15.登录你想查看你的库

16.查看表


一、数据库概述

1.1数据

记录每个人的信息

1.2表

存放信息的集合

1.3数据库

表的集合,存储数据的仓库

总结: 

数据库——>数据表——>数据

2.数据库管理系统(DBMS)

管理数据库的资源

数据库的建立和维护功能:建立数据库的结构、数据库的恢复

数据库的定义功能:定义数据的结构和信息格式

数据操作功能:数据查询和更新

数据库的运行管理功能:存取控制、数据库内部维护功能

数据库的通信功能:DBMS与其他软件系统之间通信(接收到其他软件的信号,回应他)

3.DBMS工作模式

1.接受应用程序的数据请求和处理请求

2.将用户的数据请求(高级指令)转换为复杂机器代码(底层指令)

3.实现对数据的操作中接受查询结果

4.从数据库的操作中接受查询结果

5.对查询结果进行处理(格式转换)

4.数据库系统原理

###数据通过应用程序(Tomcat);去请求DBMS系统;DBMS系统把数据转换为DB(MYSQL)能识别的语言(底层指令);DB去查询你要的用户和密码;

###DB返回查询的数据给DBMS;DBMS把结果转换为高级指令给数据;数据给应用程序;

###应用程序给Nginx;Nginx'给到用户

二、数据库发展史

1969年,第一代数据库系统问世;层次模型和网状型的数据库系统IMS

1970年,第二代数据库——关系数据库开始出现

1980年,第三年数据库——非关系数据库NoSQL(可以接收大量数据)+关系数据库SQL(无法接收大量数据)

###web——>redis——>mysql

###CPU——>缓存——>内存

###非关系数据库给关系数据库做一个缓冲

三、主流数据库

SQL Server(微软公司)
###图形化界面;简单;

Oracle(甲骨文公司)
###主流平台;操作复杂

DB2(IBM公司)
###主流平台;安全、完善

MySQL(甲骨文公司收购)
###免费、开源、体积小

PostgrSQL

四、关系型数据库和非关系型数据库

1.关系型数据库

常见的关系型数据库:MYSQL、Oracle

数据在硬盘上

关系数据库的结构是:二维表

二维表格:行+列

优点:便于维护、使用方便

缺点:速度慢、不灵活(表结构固定好了,数据必须和结构一样)

2.非关系数据库

常见非关系数据库:mongoDB、Redis

数据存在内存中

优点:读写速度快、海量数据存储、高扩展(#就是分布式处理)和高可用

缺点:数据结构复杂、数据写在内存中(电脑重启就没了)

不以关系模型为依据,不需要固定的表格式

分布式:分为多个通道处理,最后汇总

MYSQL数据库

开源关系型数据库

遵守GPL协议

特点:性能好、基于C/S架构、安全、开源

二、编译安装MYSQL

1.关闭防火墙和selinux


systemctl  stop   firewalld

setenforce  0

hostnamectl  set-hostname  mysql
####修改主机名,方便操作

bash

2.安装mysql环境依赖包

yum  install  -y  gcc  gcc-c++  ncurses  ncurses-devel  bison  cmake

安装结果 

3.创建运行用户

useradd -M -s /sbin/nologin  mysql

4.去opt下,下载安装包

cd /opt
tar zxvf mysql-boost-5.7.20.tar.gz

5.编译

cd mysql-5.7.20/

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1

6.安装

make  -j4

可以更改一下虚拟机 内核数,加快安装速度

make install

7.更改mysql安装目录和配置文件的属主属组

chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf

看安装目录属主属组

看配置文件属主属组

8.修改mysql配置文件

vim /etc/my.cnf
[client]
port = 3306
socket=/usr/local/mysql/mysql.sock
 
[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1
 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

9.设置路径环境变量

echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile	
source /etc/profile

10.初始化数据库

cd /usr/local/mysql/bin/

./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

11.添加mysql系统服务

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld

12.修改mysql登录密码

mysqladmin -u root -p password "abc123" 	
###给root账号设置密码为abc123,提示输入的是原始密码(为空)要求输入的是原密码直接回车即可

13.授权远程登录

mysql -u root -pabc123

14.查看数据库

show databases;

15.登录你想查看你的库

use mysql

16.查看表

show tables

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

输出菱形(*)--c语言

//输出菱形 #include<stdio.h>int main(){//上int line0;scanf("%d",&line);int i0;for(i0;i<line;i){int j0;//输出空格for(j0;j<line-1-i;j){printf(" ");}//输出*号for(j0;j<2*i1;j){printf("*");}printf("\n")…

Redisson 分布式锁原理分析

Redisson 分布式锁原理分析 示例程序 示例程序&#xff1a; public class RedissonTest {public static void main(String[] args) {Config config new Config();config.useSingleServer().setPassword("123456").setAddress("redis://127.0.0.1:6379"…

【开发环境】Ubuntu 18.04 搭建 QT编译环境详细步骤 【亲测有效】

目录 1 查看Ubuntu系统中Qt版本 2 下载Ubuntu系统Qt版本安装包 3 Qt安装 3.1 Qt 安装步骤 3.2 安装qt发现Ubuntu空间不足&#xff0c;怎么去扩容呢&#xff1f; 3.2.1 硬盘操作步骤&#xff08;需要关闭虚拟机进行操作&#xff09; 3.2.2 Ubuntu命令操作&#xff1a;安装…

基于单片机的模糊PID炉温控制系统设计

摘 要 电热炉是在工业热处理的生产中广泛使用的一种设备&#xff0c;电热炉的温度控制系统存在时变性&#xff0c;非线性&#xff0c;滞后性等特征&#xff0c;难以用常规PID的控制器对系统达到很好的控制效果。当控温精度的要求高时&#xff0c;使用传统的控制理论方法难以达…

蓝桥杯刷题|03普及-真题

[蓝桥杯 2017 省 B] k 倍区间 题目描述 给定一个长度为 N 的数列&#xff0c;​,,⋯&#xff0c;如果其中一段连续的子序列 ​,,⋯ (i≤j) 之和是 K 的倍数&#xff0c;我们就称这个区间 [i,j] 是 K 倍区间。 你能求出数列中总共有多少个 K 倍区间吗&#xff1f; 输入格式 …

微服务高级篇(一):微服务保护+Sentinel

文章目录 一、初识Sentinel1.1 雪崩问题及解决方案1.2 微服务保护技术对比1.3 Sentinel介绍与安装1.4 微服务整合Sentinel 二、Sentinel的流量控制三、Sentinel的隔离与降级四、Sentinel的授权规则五、规则持久化5.1 规则管理模式【原始模式、pull模式、push模式】5.2 实现push…

第二十六节 Java 重写(Override)与重载(Overload)

重写 (Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写&#xff01;返回值和形参都不能改变。即外壳不变&#xff0c;核心重写&#xff01; 重写的好处在于子类可以根据需要&#xff0c;定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。…

面试算法-48-二叉树的锯齿形层序遍历

题目 给你二叉树的根节点 root &#xff0c;返回其节点值的 锯齿形层序遍历 。&#xff08;即先从左往右&#xff0c;再从右往左进行下一层遍历&#xff0c;以此类推&#xff0c;层与层之间交替进行&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,…

从Excel到山海鲸:我的数据可视化升级之旅

作为一名新用户&#xff0c;我最近有幸体验了山海鲸可视化软件&#xff0c;近期山海鲸可视化产品开放了可视化编辑全部功能&#xff0c;并支持本地化部署功能&#xff0c;在使用过程中它不仅打开了我对数据可视化全新世界的大门&#xff0c;而且在实际操作中为我带来了不少惊喜…

【C语言】数据在内存中的存储(包含大小端字节序问题)~

一、前言 我们在刚开始学习C语言的时候&#xff0c;就接触到了很多数据的不同类型。我们也知道&#xff0c;数据是存储在一块内存空间的&#xff0c;且我们只知道数据的类型决定着&#xff0c;该数据在内存中所占内存空间的大小&#xff0c;且超过一个字节的数据在内存中存储的…

【NLP笔记】Transformer

文章目录 基本架构EmbeddingEncoderself-attentionMulti-Attention残差连接LayerNorm DecoderMask&Cross Attention线性层&softmax损失函数 论文链接&#xff1a; Attention Is All You Need 参考文章&#xff1a; 【NLP】《Attention Is All You Need》的阅读笔记 一…

安科瑞智慧安全用电云平台【无人化数据监控 远程控制 运维管理】

背景 在住宅火灾中&#xff0c;电气引发的居高不下&#xff0c;已查明原因的火灾中有52%系电气原因引起&#xff0c;尤其是各类家用电器、电动车、电气线路等引发的火灾越来越突出&#xff0c;仅电动自行车引发的较大火灾就有7起。这些事故暴露出电器产品生产质量、流通销售&a…

引领展览新风尚:一站式搭建VR在线展馆,开启数字化展示新纪元

随着VR技术的不断成熟和普及&#xff0c;VR在线展馆已成为企业和用户展示展品的新颖方式。这种技术不仅能够提供沉浸式的观展体验&#xff0c;还能帮助企业和个人快速搭建属于自己的虚拟展馆。元居虚拟空间布展平台为用户提供了快速搭建VR在线展馆的便捷服务。 一、VR在线展馆的…

vue3+vite项目打包遇到的问题

一、项目打包出现空白页 vite.config.js中&#xff0c;添加base: ./ import { defineConfig } from vite import vue from vitejs/plugin-vueexport default defineConfig({base: ./, })router/index.js&#xff0c;将路由模式改成hash模式 import { createRouter, createWe…

4G/5G视频记录仪_联发科MTK6765平台智能记录仪方案

视频记录仪主板采用了联发科MT6765芯片&#xff0c;该芯片采用12nm FinFET制程工艺&#xff0c;8*Cortex-A53架构&#xff0c;搭载安卓11.0/13.0系统&#xff0c;主频最高达2.3GHz&#xff0c;待机功耗可低至5ma&#xff0c;并具有快速数据传输能力。配备了2.4英寸高清触摸显示…

YOLOv5独家改进:block改进 | RepViTBlock和C3进行结合实现二次创新 | CVPR2024清华RepViT

💡💡💡本文独家改进:CVPR2024 清华提出RepViT:轻量级新主干!从ViT角度重新审视移动CNN,RepViTBlock和C3进行结合实现二次创新 改进结构图如下: 收录 YOLOv5原创自研 https://blog.csdn.net/m0_63774211/category_12511931.html 💡💡💡全网独家首发创…

2024:存量时代,内容平台如何“发新芽”?

今年年初&#xff0c;腾讯董事会主席马化腾表示&#xff0c;微信这棵老树如何发新芽&#xff0c;是一个很大的问题。 在互联网存量时代&#xff0c;如何提升效率焕发新活力&#xff0c;已经成为内容平台共同的命题。本质上看&#xff0c;这需要平台把握“三重法则”&#xff1…

【STM32+HAL】DMA应用

一、串口DMA收发 1、串口初始化 2、定义全局变量 #define RXBUFFERSIZE 256uint8_t rx_buffer[RXBUFFERSIZE];//接收数组 volatile uint8_t rx_len 0; //接收到的数据长度 volatile uint8_t recv_end_flag 0; //接收结束标志位 3、开启IDLE中断以及串口DMA接收 /* USER COD…

numpy的数组深度叠加dstack详解

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、引言 numpy的dstack函数用于沿着第三个维度&#xff08;深度&#xff09;将数组堆叠起来。它将多个数组按照深度方向进行堆叠&#xff0c;生成一个新的数组。具体来说&#xff0c;dstack函数会将输入的…

【网络原理】HTTP协议和使用Fiddler抓包

文章目录 &#x1f343;HTTP协议是什么&#xff1f;&#x1f340;理解 "应用层协议"&#x1f38d;HTTP 协议的工作过程&#x1f334;HTTP 协议格式&#x1f333;Fiddler抓包工具的使用&#x1f338;如何抓HTTPS的包&#xff1f; &#x1f38b;抓包工具的原理&#x1…