MySQL的基本概念(数据库类、数据模型、服务启动与连接)

目录

数据库基础

DB和DBMS

数据库的类型

RDBMS的结构

Windows系统下MySQL的服务启动与连接

服务启动

客户端连接

Linux下MySQL的安装和配置

安装MySQL并启动服务

通过远程连接此数据库


数据库基础

DB和DBMS

什么是DB

将大量的数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合就成为数据库(Database),也称为DB

什么是DBMS

用来管理数据库的计算机系统就称为DBMS

为什么要专门使用DBMS来管理数据库呢

  1. 可以提供操作大量数据所需要的格式
  2. 可以实现读写自动化需要的变成能力
  3. 可以应对突发事故(例如:当误删、硬盘故障等情况,DBMS可以解决或避免这些情况)

数据库的类型

关系型数据库(RDB Relational Database)

建立在关系模型基础上,由行和列组成的二维表来管理数据,并使用专门的SQL(结构化查询语句)对数据进行操作

特点:

  1. 使用表存储数据,格式统一,便于维护
  2. 关系型数据库都可以使用SQL语言操作,标准统一,使用方便

此类型数据库对应的DBMS称为RDBMS,具有代表性的RDBMS如下

MySQL 开源的RDBMS

Oracle 甲骨文公司的RDBMS

DB2 IBM公司的RDBMS

SQL Server 微软的RDBMS

Postgre SQL 开源的RDBMS

非关系型数据库(统称为NoSQL 不仅仅是SQL)

非关系型数据库存储格式支持文档、图片等;而关系型数据库只支持基础类型

  1. 键值存储系统(KVS Key-Value Store)

使用键值对来存储数据(主键Key和值Value的组合),不用表来存储数据的数据库

常见此类数据库管理系统有:Redis、MemcacheDB等

  1. 面向对象数据库(OODB Object Oriented Database)

编程语言中有一种被称为面向对象的语言(Java、C++等),面向对象数据库就是用来保存这些对象的数据库

常见此类数据库管理系统有:ObjectDB(java数据库)等

  1. 面向文档数据库

存放并获取文档,包括XML、JSON、BSON等格式

常见此类数据库管理系统有:MongoDB、ClouchDB等

  1. 图形数据库

允许将数据以图的方式存储

常见此类数据库管理系统有:Neo4j、JanusGraph等


RDBMS的结构

使用RDBMS时的系统结构

RDBMS数据库和表的关系

表存储在数据库中,一个数据库可以存储多个表

RDBMS的数据结构(表结构)

表的列称为字段,代表了保存在列表中不同的数据项目列

表的行称为记录,相当于一条数据

注意事项

关系型数据库必须以行为单位进行数据的读写

一个单元格只能够输入一个数据

列就是一个表中的特定字段相关联的所有信息的垂直实体


Windows系统下MySQL的服务启动与连接

Windows下的MySQL安装不做介绍

服务启动

win+r

services.msc 找到mysql80(关闭和启动mysql服务)

或者cmd下

net start mysql80 打开mysql服务

net stop mysql80 关闭mysql服务

客户端连接

方式一:

方式二:(需要先配置环境变量)

cmd下配置 :

mysql -h 【sql的IP地址】 -P 【sql的端口号】 -u 【登录所使用的用户名】 -p

-p 表示输入密码

例如: mysql -h 127.0.0.1 -P 3306 -u root -p

可以简写为 : mysql -u root -p


Linux下MySQL的安装和配置

安装MySQL并启动服务

配置好yum仓库,然后安装mysql

yum -y install mysql-community-server

启动mysql服务(Mysql安装后会自动生成名为mysqld的服务)

systemctl start mysqld #启动MySQL服务

systemctl restart mysqld #重启MySQL服务

systemctl stop mysqld #停止MySQL服务

systemctl enable mysqld #配置MySQL开机自启动

systemctl status mysqld #查看MySQL服务状态

配置MySQL的Root密码

查询mysql的日志文件,来获取mysql的初始密码

cat /var/log/mysqld.log #在此文件下查找 temporary password 就有默认的root密码

或者 grep 'temporary password' /var/log/mysqld.log 直接查找

通过此默认密码登录MySQL系统

mysql -u root -p

输入默认密码

修改root密码

alter user 'root'@'localhost' identified by '修改后的密码' #密码必须有大写字母和特殊符号,并且大于8位

如果要修改为简单的密码,需要将musql密码级别修改为低级

set global validate_password_policy = 0; #密码等级为0

set global validate_password_length= 4; #密码长度为4位

通过远程连接此数据库

在linux上先通过防火墙放通3306端口

firewall-cmd --permanent --add-port=3306/udp

firewall-cmd --permanent --add-port=3306/tcp

systemctl restart firewalld.service

配置root用户可以通过其它远程地址登录到mysql

新增root用户,主机名为全部

create user 'root'@'%' identified by '123456';

为此用户配置权限

grant all on *.* to 'root'@'%';

删除本地的root用户

drop user 'root'@'localhost';

通过DataGrip连接此数据库

相关推荐
清水白石0085 分钟前
从一个“支付状态不一致“的bug,看大型分布式系统的“隐藏杀机“
java·数据库·bug
Python私教5 小时前
model中能定义字段声明不存储到数据库吗
数据库·oracle
mqiqe7 小时前
Python MySQL通过Binlog 获取变更记录 恢复数据
开发语言·python·mysql
工业甲酰苯胺7 小时前
MySQL 主从复制之多线程复制
android·mysql·adb
BestandW1shEs7 小时前
谈谈Mysql的常见基础问题
数据库·mysql
重生之Java开发工程师7 小时前
MySQL中的CAST类型转换函数
数据库·sql·mysql
教练、我想打篮球7 小时前
66 mysql 的 表自增长锁
数据库·mysql
Ljw...7 小时前
表的操作(MySQL)
数据库·mysql·表的操作
哥谭居民00017 小时前
MySQL的权限管理机制--授权表
数据库