数据库基本介绍及编译安装mysql

目录

数据库介绍

数据库类型

数据库管理系统(DBMS)

数据库系统

DBMS的工作模式

关系型数据库的优缺点

编译安装mysql


数据库介绍

数据:描述事物的的符号纪录称为数据(Data)

:以行和列的形式组成了表(像excel表格),(数据存储在表中)关系型数据库由记录组成,记录由字段组成,字段由数字和字符组成

:表的集合(也就是用来存放表的地方)

数据库类型

关系型数据库: 结构是二维表,也就是像excel一样的表格,每个字段(列)用来描述对象的一个属性,每个记录(行)用来描述一个对象的信息。表与表之间存在联系。关系型数据库数据存储在磁盘上。使用sql语句进行查询

非关系型数据库: 是一种数据结构化方法的集合,一般使用键值对进行存储,且数据存储在内存上,关机便会消失。

数据库管理系统(DBMS)

数据库管理系统是实现对数据库资源的有效组织,管理和存取的系统软件,在操作系统的支持下,支持用户的以下操作:

数据库的建立和维护:包括建立数据库的结构和数据的录入与转换、数据库的 转储与恢复、数据库的重组与性能监视等功能。

数据定义功能:包括定义全局数据结构、局部逻辑数据结构、存储结构、保密模式及信息格式等功能。保证存储在数据库中的数据正确、有效和相容,以防止不合语义的错误数据被输入或输出。

数据操作功能:包括数据查询统计和数据更新两个方面。

数据库的运行管理功能:这是数据库管理系统的核心部分,包括并发控制、存取控 制、数据库内部维护等功能。

通信功能:DBMS 与其他软件系统之间的通信,如 Access 能与其他 Office 组件进行数据交换。

数据库系统

数据库系统(DBS)是一个人机系统,一般由硬件、操作系统、数据库、DBMS、应用软件和数据库用户(包括数据库管理员)组成。用户可以通过 DBMS 操作数据库,也可以通过应用程序操作数据库(Navicat)

DBMS的工作模式

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

2.将用户的数据请求(高级指令)转换成机器能识别的代码

3.实现数据库的操作

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

5.对查询结果进行处理(转换成用户可以查看的形式)

6.将查询结果返回用户

关系型数据库的优缺点

优点

1.易于维护:都是使用表结构,格式一致。

2.使用方便:SQL语言通用,可用于复杂查询。

3.复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点

1.读写性能比较差,尤其是海量数据的高效率读写。

2.固定的表结构,灵活度稍欠。

3.高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。

编译安装mysql

1.首先准备两个压缩包

一个mysql(MySQL :: MySQL Community Downloads)的包和一个boost(Boost Downloads 地址)的包

2.下载一些编译安装需要的软件

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

3.解压两个包

tar xf boost_1_59_0.tar.gz

tar xf mysql-5.7.17.tar.gz

4.将 boost_1_59_0 移动到/usr/local/ 并改名成 boost

mv boost_1_59_0 /usr/local/boost

5.进入到 mysql

cd mysql-5.7.17/

6.进行cmake

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=/usr/local/boost \

-DWITH_SYSTEMD=1

7.make && make install (-j 2 使用2核cpu安装,你有几个cpu就能用几核运行) 这个需要一段时间

8.创建用户mysql

useradd -s /sbin/nologin mysql

9.将/usr/local/mysql/下的文件的属主属组改成mysql

10.修改/etc/my.cnf的属主属组

chown mysql:mysql /etc/my.cnf

11.修改/etc/my.cnf内容

client

port = 3306

default-character-set=utf8

socket=/usr/local/mysql/mysql.sock

mysql

port = 3306

default-character-set=utf8

socket=/usr/local/mysql/mysql.sock

auto-rehash

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

12.设置环境变量,申明/宣告mysql命令便于系统识别

echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

source /etc/profile

可以 cat /etc/profile查看

13.初始化数据库

切换到 /usr/local/mysql/bin下

cd /usr/local/mysql/bin/

cd /usr/local/mysql/bin/

./mysqld \

--initialize-insecure \

--user=mysql \

--basedir=/usr/local/mysql \

--datadir=/usr/local/mysql/data

14.将mysql 加入到管理进程中

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /lib/systemd/system/

15.刷新管理模块,启动mysql 查看状态

16.设置开机自启

systemctl enable mysqld.service

17.给root账号设置密码

18.登录数据库

19.数据库退出(quit)

完成

相关推荐
辛一一1 小时前
neo4j图数据库基本概念和向量使用
数据库·neo4j
巨龙之路2 小时前
什么是时序数据库?
数据库·时序数据库
蔡蓝2 小时前
binlog日志以及MySQL的数据同步
数据库·mysql
是店小二呀3 小时前
【金仓数据库征文】金融行业中的国产化数据库替代应用实践
数据库·金融·数据库平替用金仓·金仓数据库2025征文
炒空心菜菜3 小时前
SparkSQL 连接 MySQL 并添加新数据:实战指南
大数据·开发语言·数据库·后端·mysql·spark
专注于大数据技术栈4 小时前
Mac上安装Mysql的详细步骤及配置
mysql
多多*4 小时前
算法竞赛相关 Java 二分模版
java·开发语言·数据结构·数据库·sql·算法·oracle
爱喝酸奶的桃酥4 小时前
MYSQL数据库集群高可用和数据监控平台
java·数据库·mysql
数据库幼崽4 小时前
MySQL 8.0 OCP 1Z0-908 61-70题
数据库·mysql·ocp
进击的CJR4 小时前
MySQL 8.0 OCP 英文题库解析(四)
mysql