MySQL

1.DBMS介绍

DBMS : database manager system 数据库管理系统,这里DBMS大致

1.1为什么要使用数据库

首先我们要知道数据到底要存放在哪里
1.文件 --》普通的文本文件、excel表格
2.数据库

数据库没出来之前,以前的文件全部放在文件系统里面,当数据越来越多的时候,久而久之就存在了三个问题:
1、文件读取和查找
当我们想要查找一条数据时,由于文件系统将不同的类型的文件划分不同的文件夹进行存储,这样就导致数据在查找时需要一层一层往下查找,这样查找的效率及其缓慢,严重影响用户体验
2、文件存储的数据量的问题
由于数据越来越多,传统文件系统根本就无法容纳这些庞大的数据,例如一个excel表格最多也只能存储100多万条数据,这对于当今数据爆炸增长的社会是远远不够的
3、兼容问题
我们都知道,.txt的文件类型就必须使用.txt的打开方式才能打开出正确的文件内容,否者你看到的就会使一堆乱码,这里数据库将格式进行了统一,这样就不会出现这种问题了

1.2DBMS的结构

主要由:数据定义、数据操作、数据库的运行管理、数据组织、存储与管理、数据库的保护、数据库的维护、通信。

主要功能:

1、数据定义:供用户定义数据库的三级模式结构、两级映像以及完整性约束和保密限制等约束。DDL主要用于建立、修改数据库的库结构。

2、数据操作:DBMS提供数据操作语言DML(Data Manipulation Language),供用户实现对数据的追加、删除、更新、查询等操作。

3、数据库的运行管理:数据库的运行管理功能是DBMS的运行控制、管理功能,包括多用户环境下的并发控制、安全性检查和存取限制控制、完整性检查和执行、运行日志的组织管理、事务的管理和自动恢复,即保证事务的原子性。这些功能保证了数据库系统的正常运行。

4、数据组织、存储与管理:DBMS要分类组织、存储和管理各种数据,包括数据字典、用户数据、存取路径等,需确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。

5、数据库的保护:数据库中的数据是信息社会的战略资源,所以数据的保护至关重要。DBMS对数据库的保护通过4个方面来实现:数据库的恢复、数据库的并发控制、数据库的完整性控制、数据库安全性控制。

6、数据库的维护:这一部分包括数据库的数据载入、转换、转储、数据库的重组合重构以及性能监控等功能,这些功能分别由各个使用程序来完成。

7、通信:DBMS具有与操作系统的联机处理、分时系统及远程作业输入的相关接口,负责处理数据的传送。
在这里插入图片描述

为什么需要使用专业的数据库软件来管理数据?
其实在mysql里一个库可以相当于一个文件夹,库里的表,其实就是一个文件,表才是真正存放数据的,数据的核心功能就是存储数据
数据库存储数据的好处:
1.数据量可以无限大
2.查找非常方便
3.多种程序都可以去同一个地方访问数据 --》数据的统一管理和保存,不区分程序了

2.连接Mysql的一些问题

对客户端的配置
socket是用来指定socket文件的路径,方便客户端连接找到,socket 套接字、槽 --》指定两个东西的接口

2.1进程和进程之间的通信方式

1、管道
	cat /etc/passwd | grep feng
2、socket  --》 套接字
	文件socket    实现了同一电脑不同进程之间的通信 =》具体某个文件
	网络socket    实现了不同电脑不同进程之间得通信 ip+port
3.共享内存
4.信号
	kill -9 1234
5.队列
6.信号量 --》锁

2.2.从windows不能连接到linux中的数据库

1.ping linux服务器 查询网络是否畅通
2.linux防火墙是否开启
	iptables -L
	service firewalld stop		
3.mysql是否开启
		ps -aux | grep mysqld
4.查看端口号是否修改
	netstat -anlput  |grep mysqld
5.是否授权
	grant all on *.*  'root'@'%' identified by 'Hpx123#'
6.云服务器安全组,使用的是云服务器

2.3.mysqld服务启动不了

1.看配置文件   /etc/my.cnf
2.看日志文件 -->找error  /var/log/mysql/mysql.log
3.百度

本机连接默认采用文件socket

mysql -uroot -p'passwd'

mysql在编译安装有两个目录
1.安装目录
2,数据目录 /data/mysql

socket文件一定呀防止启动mysqld进程的用户具有写权限,推荐:数据目录或者tmp,如果在/etc/my.cnf client没有指定的话,默认情况下mysql这个命令回到/tmp/mysql.sock下找,mysql在执行时会优先读取/etc/my.cnf 文件

-S 可以指定sock路径  mysql -S +sock路径 -uroot -pHpx123#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值