当前位置: 首页 > news >正文

MySQL数据库基本安装与部署

目录

概念

数据库的基本概念

关系型数据库

非关系型数据库

MySQL

商业版与社区版

示例

初始化MySQL

添加系统服务


概念

数据库的基本概念

  • 数据(Data)
    • 描述事物的符号记录
    • 包括数字、文字、图形、图像、声音、档案记录等
    • 以“记录”形式按统一的格式进行存储
    • 将不同的记录组织在一起
    • 用来存储具体数据
  • 数据库
    • 表的集合,是存储数据的仓库
    • 以一定的组织方式存储相互有关的数据集合
  • 数据库管理系统(DBMS)
    • 是实现对数据库资源有效组织、管理和存取的系统软件
  • 数据库系统
    • 是一个人机系统,由硬件、OS、数据库、DBMS、应用软件和数据库用户组成
    • 用户可以通过DBMS或应用程序操作数据库

关系型数据库

  • 关系数据库系统是基于关系模型的数据库系统
  • 关系模型的数据结构使用简单易懂的二维数据库
  • 关系模型可用简单的 “实体-关系” (E-R)图来表示
  • E-R图中包含了实体(数据对象)、关系和属性三个要素
  • 实体
    • 也称为实例,对应现实世界中可区别于其他对象的“时间”或“事物”
    • 如银行客户、银行账户等
  • 属性
    • 实体所具有的某一特性,一个实体可以有多个属性
      • 如“银行账户”实体集中的每个实体均具有姓名、住址、电话等属性
  • 联系
    • 实体集之间的对应关系成为联系,也称为关系
      • 如银行客户和银行账户之间存在“储蓄”的关系
  • 所有实体及实体之间联系的集合构成一个关系数据库
  • 关系数据库的存储结构是二维表格
    • 每一行称为一条记录,用来描述一个对象的信息
    • 每一列称为一个字段,用来描述对象的一个属性

非关系型数据库

  • 非关系型数据库也被称作NoSQL(Not Only SQL)
  • 存储数据不以关系模型为依据,不需要固定的表格式
  • 优点
    • 数据库可高并发读写
    • 对海量数据高效率存储与访问
    • 数据库具有高扩展性与高可用性
    • 常用的有:Redis、MongoDB

MySQL

SQL:结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

  • 一款开源的关系型数据库
  • Oracle旗下产品
  • 遵守GPL协议,可以免费使用与修改
  • 特点
    • 性能卓越、服务稳定
    • 开源、无版权限制、成本低
    • 多线程、多用户
    • 基于C/S(客户端/服务器)架构
    • 安全可靠

商业版与社区版

  • MySQL商业版是由MySQL AB公司负责开发与维护,需要付费才能使用
  • MySQL社区版是由分散在世界各地的MySQL开发者、爱好者一起开发与维护,可以免费使用
  • 两者区别
    • 商业版组织管理与测试环节更加严格,会比社区版更稳定
    • 商业版不遵守GPL,社区版遵从GPL可以免费使用
    • 商业版可获得7*24小时的服务,社区版则没有

示例

初始化MySQL

导入已经编译过的MySQL安装包,使用tar命令解压

[root@localhost ~]# tar zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

安装所需依赖yum -y install gcc libaio

创建程序用户,关闭防火墙和内核安全机制

[root@localhost ~]# useradd -M -s /sbin/nologin mysql
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0

因为是解压即用的软件包,所以可以直接移动到方便使用的位置,并重命名为mysql

[root@localhost ~]# mv mysql-5.7.28-linux-glibc2.12-x86_64 /usr/local/mysql

cd进入移动的目录内,创建数据目录,用于存放MySQL生成的数据,创建程序用户并修改该目录的属主和属组为mysql程序用户

最后创建软链接便于在终端中使用mysql命令

[root@localhost ~]# cd /usr/local/mysql/
[root@localhost mysql]# mkdir data
[root@localhost mysql]# useradd -M -s /sbin/nologin mysql
[root@localhost mysql]# chown -R mysql:mysql data/
[root@localhost mysql]# ln -s /usr/local/mysql/bin/* /usr/local/bin/

cd进入bin/目录下,使用mysqld脚本初始化

在初始化完成后的最后一行,最后一行会显示出临时密码,利用临时密码登录MySQL,把密码改为自己的密码。

[root@localhost bin]# ./mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --initialize
2024-07-22T02:29:46.322987Z 1 [Note] A temporary password is generated for root@localhost: B;jb1+:.aah6    # 临时密码

cd到mysql安装目录下的data目录,初始化完成后,刚刚新建的data目录内也生成了文件和数据库

打开MySQL的配置文件,删除在安装系统时MariaDB数据库生成的全部内容,添加MySQL数据库对应内容。

[root@localhost data]# vim /etc/my.cnf
[client]
socket=/usr/local/mysql/data/mysql.sock[mysqld]
socket=/usr/local/mysql/data/mysql.sock
bind-address=0.0.0.0
port=3306
skip-name-resolve
max_connections=2048
character-set-server=utf8
default-storage-engine=INNODB
lower_case_table_names=1[mysqld_safe]
log-error=/usr/local/mysql/data/error.log
  • [mysqld_safe]:mysql启动时要执行的操作

优化参数不加也可以正常使用mysql

优化参数

说明

[mysqld_safe]

mysql启动时要执行的操作

socket

告诉本地客户端用哪个socket连接服务端

bind-address

绑定监听地址,0.0.0.0表示所有地址

port

指定端口号

skip-name-resole

跳过与客户端的域名解析,增加连接效率

max_connections

允许最大连接数

character-set-server

指定服务端使用的字符集

default-storage-engine

创建新表时默认使用的存储引擎

lower_case_table_names

表名不区分大小写

添加系统服务

拷贝mysql提供的服务文件到对应位置

[root@localhost init.d]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

创建systemd守护进程能够管理mysql的服务文件,最后重载systemd

[root@localhost init.d]# vim /lib/systemd/system/mysqld.service
[Unit]
Description=mysqld 
After=network.target 
[Service] 
Type=forking 
ExecStart=/etc/init.d/mysqld start      
ExecReload=/etc/init.d/mysqld restart      
ExecStop=/etc/init.d/mysqld stop      
PrivateTmp=true # 把临时数据放到私有的临时目录里
[Install] 
WantedBy=multi-user.target
[root@localhost ~]# systemctl daemon-reload

然后利用临时密码修改mysql登录的密码

[root@localhost ~]# mysql -uroot -p
password:这里输入之前生成的临时密码,回车
进入mysql界面
mysql> set password='123456';    # 修改密码
mysql> show databases;    # 显示当前所有数据库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

进入名为mysql的数据库,列出所有表

再使用select命令测试查询mysql数据库中user表的所有内容,包括所有列的详细信息(\G 是以垂直方式显示,代替默认的水平方式)

mysql> use mysql;mysql> show tables;
mysql> select * from user\G

相关文章:

MySQL数据库基本安装与部署

目录 概念 数据库的基本概念 关系型数据库 非关系型数据库 MySQL 商业版与社区版 示例 初始化MySQL 添加系统服务 概念 数据库的基本概念 数据(Data) 描述事物的符号记录包括数字、文字、图形、图像、声音、档案记录等以“记录”形式按统一的…...

paraFoam 运行 报错 usr/lib/x86_64-linux-gnu/libQt5Core.so 已解决

在日常项目开发中。使用ubuntu 视图开发的时候。报错 缺少 libQt5Core 核心组件! whereis libQt5Core.so.5sudo strip --remove-section.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 完美解决,并且能正常打开,前提是&#xff0c…...

科技前沿:Llama 3.1的突破与革新

在科技的长河中,每一次模型的更新都是对人类智慧的致敬。今天,我们将聚焦于Meta公司最新发布的Llama 3.1系列模型,探索其在AI领域的前沿突破。 新模型的诞生 自去年以来,Meta公司不断推进人工智能技术的发展,终于在近…...

每天一个数据分析题(四百四十七)- 业务系统

业务系统往往因为系统故障、设备故障、人为失误等原因导致数据中存在异常数据,下列哪一项方法对于发现异常值有帮助( ) A. 计算均值加减三倍标准差的范围 B. 梯度下降法 C. 相关性分析 D. 计算四分位距 数据分析认证考试介绍&#xff1a…...

如何保护你的网络安全?

在2024年4月,一次创纪录的DDoS(分布式拒绝服务)攻击震惊了网络世界,这次攻击达到每秒840百万数据包(Mpps)。你可能会问,DDoS攻击到底是什么?为什么它这么重要呢? 什么是…...

Nginx 怎样处理请求的重试机制?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会! 文章目录 Nginx 怎样处理请求的重试机制?一、为何需要重试机制?二、Nginx 中的重试机制原理三、Nginx 重试机制的配置参数四、Nginx 重试机制的实际…...

自己开发软件实现网站抓取m3u8链接

几天前一个同学说想下载一个网站的视频找不到连接,问我有没有什么办法,网站抓取m3u8链接 网页抓取m3u8链接。当时一听觉得应该简单,于是说我抽空看看。然后就分析目标网页,试图从网页源码里找出连接,有的源代码直接有,但是有的没有…...

[Python3] 多模式字符串搜索 `Aho-Corasick`

ahocorasick.Automaton 是 Python 中 pyahocorasick 库提供的一个类,用于实现 Aho-Corasick 自动机。Aho-Corasick 算法是一种用于精确或近似多模式字符串搜索的高效算法。 通过 pip install pyahocorasick 安装 pyahocorasick 库。 并且,该模块是用 C 编…...

4 Types of Kaggle Competitions

1---Featured Competitions🤑🤑 These are comprehensive Machine Learning challenges posed by difficult, often business-oriented predictive problems. For example, 1⃣️Using customers history of buying insurance to predict the price t…...

【STM32】stm32中GPIO_ReadInputDataBit()是什么意思

GPIO_ReadInputDataBit()函数用于读取指定GPIO端口的某一引脚上的电平状态,并返回该引脚的电平是高电平(1)还是低电平(0)。 在STM32单片机中,GPIO(General-Purpose Input/Output)端…...

Study--Oracle-07-ASM相关参数(三)

一、ASM初始化参数 1、ASM全量参数,见附件 2、ASM重要参数 无需求不需要调整 3、ASM权限 ASM的三大系统权限包括SYSDBA、‌SYSOPER和SYSASM。‌ SYSDBA(‌系统管理员)‌:‌这是最高级别的权限,‌允许用户执行所有的数据库管理任务,‌包括启动和关闭数据库,‌以及执行…...

【STM32嵌入式系统设计与开发拓展】——12_Timer(定时器中断实验)

目录 1、什么是定时器?定时器用于测量时间间隔,而计数器用于计数外部事件的次数 2、定时器的主要功能和用途?3、定时器类型?4、定时器的编写过程5、代码分析定时器计算?计算过程周期(arr)&#…...

iPhone 17系列取消17 Plus版本?新一代苹果手机迎来新变革

随着科技的飞速发展,苹果公司再次准备刷新我们的期待,即将推出的iPhone 17系列携带着一系列令人兴奋的升级。今年,苹果打破了常规,将四款新机型带入市场——iPhone 17、17 Pro、17 Pro Max,以及一款全新的成员&#xf…...

Bootstrap实现dialog上一步下一步多个弹窗交互

Bootstrap实现dialog上一步下一步多个弹窗交互 版本介绍: Bootstrap v3.3.7jQuery v3.5.1 一、功能介绍 重新设置bootstrap主题色内容区以card形式展示,纯js实现分页功能共两步骤,第一步选择模板,第二步进行其他操作步骤一内的按…...

iOS实际开发中使用数据驱动页面布局

引言 在实际的APP开发中,我们通常会首先根据设计团队提供的视觉设计UI来构建我们的应用页面。这些设计通常是最全面和理想化的状态,因为设计师并不需要考虑用户的实际操作和交互。然而,如果我们仅仅根据这些设计进行硬编码,会在应…...

后端开发刷题 | 笔试

Linux 中,下面哪个选项不是 inode 中记录的数据() A 最后一次读取时间 B 最近修改的时间 C 该文件的实际内容 D 该文件的容量 正确答案:C 解析:储存文件的元信息,比如文件的创建者、文件的创建日期、文件的…...

ROS2入门到精通—— 2-8 ROS2实战:机器人安全通过狭窄区域的方案

0 前言 室内机器人需要具备适应性和灵活性,以便在狭窄的空间中进行安全、高效的导航。本文提供一些让机器人在狭窄区域安全通过的思路,希望帮助读者根据实际开发适当调整和扩展 1 Voronoi图 Voronoi图:根据给定的一组“种子点”&#xff0…...

STM32自己从零开始实操10:PCB全过程

一、PCB总体分布 分布主要参考有: 方便供电布线。方便布信号线。方便接口。人体工学。 以下只能让大家看到各个模块大致分布在板子的哪一块,只能说每个人画都有自己的理由,我的理由如下。 还有很多没有表达出来的东西,我也不知…...

折线图时间统计

1、查询本月的数据 2、查询最近一个月数据 1、查询本月数据 Date startTime DateUtil.getStartDayOfMonth();Date endTime DateUtil.getEndDayOfMonth();//获取日期//[2024-07-01, 2024-07-02, 2024-07-03, 2024-07-04, 2024-07-05, 2024-07-06, 2024-07-07, 2024-07-08, 20…...

Prompt工程:与AI聊天机器人更好地交流

Prompt工程:与AI聊天机器人更好地交流 1. 清楚地说明你想要什么2. 告诉AI它现在是谁3. 一步一步来4. 给AI一些例子5. 让AI检查自己的回答6. 把AI当作你的小助手7. 让AI帮你想主意8. 让AI告诉你它需要知道什么9. 教AI一步一步思考结语 大家好!今天我们来聊聊如何跟AI聊天机器人更…...

BGP之选路MED

原理概述 当一台BGP路由器中存在多条去往同一目标网络的BGP路由时,BGP协议会对这些BGP路由的属性进行比较,以确定去往该目标网络的最优BGP路由。BGP路由属性的比较顺序为Preferred Value属性、Local Preference属性、路由生成方式、AS_Path属性、Origin属…...

KunDB4.0:安全能力与Oracle兼容性提升,支持跨系统多租户部署

KunDB是星环科技自主研发的分布式交易型数据库,高度兼容Oracle和MySQL,提供数据强一致、高可用、高性能、高扩展、应用透明等能力,可在云上和物理机上容器化部署运行,一站式解决企业数据存储、管理、计算与安全性问题。 过去半年…...

JVM的 6 种垃圾回收算法

JVM的垃圾回收(Garbage Collection, GC)算法,在面试八股文时偶尔会被问到,了解一些常见的垃圾回收算法有利于面试时吊打面试官。 以下是JVM常见的几种垃圾回收算法的介绍: 1. 标记-清除算法(Mark-Sweep&a…...

【SOC 芯片设计 DFT 学习专栏 -- DFT OCC 与 ATPG的介绍】

请阅读【嵌入式及芯片开发学必备专栏】 请阅读【芯片设计 DFT 学习系列 】 如有侵权,请联系删除 转自: 简矽芯学堂 简矽芯学堂 2024年01月18日 09:00 陕西 文章目录 OCC 介绍Fast ScanFull chip ATPGPartition ATPGHierarchical ATPG OCC 介绍 OCC&am…...

自动驾驶-机器人-slam-定位面经和面试知识系列03之C++STL面试题(01)

这两天有点忙耽搁了,抱歉!!! 这个博客系列会分为C STL-面经、常考公式推导和SLAM面经面试题等三个系列进行更新,基本涵盖了自己秋招历程被问过的面试内容(除了实习和学校项目相关的具体细节)。…...

红狮金业解读:分析高价位黄金的后续投资吸引力

在全球经济格局不断变化的背景下,黄金作为传统的避险资产一直备受投资者关注。近期,金价持续走高,引发了市场对黄金是否仍然是优质资产配置的讨论。本文红狮启富将从长期需求、价格驱动因素的变化以及汇率影响三个角度,深入分析黄…...

LDR6020双盲插便携显示器应用

随着USB Type-C接口的普及,越来越多的手机和笔记本电脑都支持通过C接口输出视频。这个小巧而精密的接口,大有把传统的HDMI和DisplayPort接口取而代之的架势。特别是usb4的推出,更是为USB TYPE-C接口一统有线接口形态奠定了基础。 单USB-C接口…...

【HashMap源码学习】

HashMap的底层结构 HashMap是基于分离链表法解决散列冲突的动态散列表。 1、在jdk7中,使用的是“数组 链表”,发生散列冲突的时候键值对会用头插法添加到单链表中; 2、在jdk8中,使用的是“数组 链表 红黑树”,发…...

Git关联本地仓库和远程仓库

Step 1 添加远程仓库: git remote add <远程仓库别名><远程仓库地址> Step 2 git push -u <远程仓库名><分支名> 查看远程仓库: git remote -v 拉取远程仓库内容: 拉取服务器仓库过程中&#xff0c;如果本地和服务器有文件冲突&#xff0c;则会拉取失…...

【Django】在vscode中新建Django应用并新增路由

文章目录 打开一个终端输入新建app命令在app下的views.py内写一个视图app路由引入该视图项目路由引入app路由项目(settings.py)引入app&#xff08;AntappConfig配置类&#xff09;运行项目 打开一个终端 输入新建app命令 python manage.py startapp antapp在app下的views.py内…...