重庆网站推广产品,手机网站建设 如何获得更好的排名,app网站平台建设方案,聊天app搭建MySQL的安装和基本概念 一、环境安装1、环境及配置2、下载安装 二、基本概念1、主流数据库2、mysql和mysqld的区别和概念#xff08;1#xff09;概念1#xff1a;了解CS结构#xff08;2#xff09;概念2#xff1a;数据库指的是什么#xff08;3#xff09;概念31概念1了解CS结构2概念2数据库指的是什么3概念3数据库本质 3、服务器数据库表关系4、举个例子创建一张学生信息表5、MySQL架构6、SQL分类7、存储引擎 一、环境安装
1、环境及配置
我们采用的环境是centos7.6 服务器是腾讯云轻量级服务器 用户是root
2、下载安装
mysql下载官网
点击跳转到当前的网页再鼠标右击打开“查看网页源代码”。
因为我是centos7.6的所以选择这个下载到桌面。 通过rz将其解压到Linux根目录Mysql中
我们先来检查一下有没有Mysql的配置源 ls /etc/yum.repos.d/ -al 我们发现没有mysql的配置源那么下载并安装 rpm -ivh mysql57-community-release-el7.rpm 查看配置源如下图发现是已经有了mysql了并通过grep去过滤看mysql是否能够正常工作下图中是能的。 正式安装mysql服务 yum install -y mysql-community-server 发现下载失败了我们看一下下载失败的原因秘钥失效 那么我们更新一下密钥到最新版就好了 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 继续用上面那个yum源的指令安装安装成功 查看配置⽂件和数据存储位置 启动一下服务 systemctl start mysqld.service 登录一下看看试试 居然要密码我们根本不知道密码是什么所以有两种方法 第一种方法看一下临时密码很多人机子上都没有这个 第二种方法是免密登录skip-grant-tables 其实上述做完了还是登不进去 原因是我们没有重新启动一下啊我们重新启动一下试试 使用一下 我们再来配置一下.cnf文件 其实我们用的端口号是3306 我们后面进行登录的指令: 如果没有写 -h 127.0.0.1 默认是连接本地 如果没有写 -P 3306 默认是连接3306端口号 二、基本概念
要弄懂数据库的概念首先得明白为什么要有数据库我们平常存储不是有文件存储吗为什么不用文件存储还非要搞出来个数据库来进行存储原因在于文件保存数据有以下几个缺点文件的安全性问题、文件不利于数据查询和管理、文件不利于存储海量数据、文件在程序中控制不方便。而为了解决上面的四个问题专家们就设计了个数据库也就是用来管理数据的东西。
1、主流数据库 SQL Sever 微软的产品.Net程序员的最爱中大型项目。 Oracle 甲骨文产品适合大型项目复杂的业务逻辑并发一般来说不如MySQL。 MySQL世界上最受欢迎的数据库属于甲骨文并发性好不适合做复杂的业务。主要用在电商SNS论坛。对简单的SQL处理效果好。 PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库不管是私用商用还是学术研究使用可以免费使用修改和分发。 SQLite 是一款轻型的数据库是遵守ACID的关系型数据库管理系统它包含在一个相对小的C库中。它的设计目标是嵌入式的而且目前已经在很多嵌入式产品中使用了它它占用资源非常的低在嵌入式设备中可能只需要几百K的内存就够了。 H2 是一个用Java开发的嵌入式数据库它本身只是一个类库可以直接嵌入到应用项目中。 2、mysql和mysqld的区别和概念
1概念1了解CS结构
我们既然要学习mysql那这个mysqld是个什么 我们看上图发现mysql和mysqld在不同的文件中mysql在/usr/bin/mysql 而 mysqld在/usr/sbin/mysqld中而我们打出mysqld发现其实是个守护进程其实这个mysqld是个数据库的服务器端这个mysql是个数据库的客户端所以我们平常学习到的mysql就是个基于C(mysql)S(mysqld)模式下的一种网络服务。看下图是个网络服务器。 2概念2数据库指的是什么
我们既然知道了mysql是一套给我们提供数据存取的服务的网络程序那么我们不难知道数据库是在磁盘或者内存中存取的特定结构组织的数据也就是将来在磁盘上存储的一套数据库的方案。 而数据库的服务依旧是mysqld。
3概念3数据库本质
一般的文件确实提供了数据的存储功能但是文件并没有提供良好的数据内容管理能力所以数据库就是对数据内容存储的一套解决方案当用户给到了字段或者要求数据库服务器直接拿出结果给用户即可。换而言之就是用户提出需求在mysql客户端mysqld服务端根据这些内容自己生成对应的解决方案返回给用户。
3、服务器数据库表关系 所谓安装数据库服务器只是在机器上安装了一个数据库管理系统程序这个管理程序可以管理多个数据库一般开发人员会针对每一个应用创建一个数据库。 为保存应用中实体的数据一般会在数据库中创建多个表以保存程序中实体的数据。 数据库服务器、数据库和表的关系如下 我们可以通过linux机器下来看一下上图的概念 我们其实发现/etc/my.cnf中存着一个datadir的信息表进入这个文件中发现其文件中的目录文件就是mysql表中显示的信息了~
4、举个例子创建一张学生信息表 创建数据库create database helloworld; 使用数据库use helloworld; 创建数据库表 create table student( name varchar(32), age int, gender varchar(2) ); 插入信息查询表中数据select * from student; 5、MySQL架构
MySQL 是一个可移植的数据库几乎能在当前所有的操作系统上运行如 Unix/Linux、Windows、Mac 和 Solaris。各种系统在底层实现方面各有不同但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。
6、SQL分类 DDL【data definition language】 数据定义语言用来维护存储数据的结构 代表指令: create, drop, alter DML【data manipulation language】 数据操纵语言用来对数据进行操作 代表指令 insertdeleteupdate DML中又单独分了一个DQL数据查询语言代表指令 select DCL【Data Control Language】 数据控制语言主要负责权限管理和事务 代表指令 grantrevokecommit 7、存储引擎
存储引擎是数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。