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连接此数据库

相关推荐
fen_fen1 小时前
mysql,mariadb,postgresql创建用户和授权的命令
mysql·postgresql·mariadb
两点王爷1 小时前
Java读取csv文件内容,保存到sqlite数据库中
java·数据库·sqlite·csv
凡人的AI工具箱2 小时前
每天40分玩转Django:Django部署概述
开发语言·数据库·后端·python·django
技术路上的苦行僧3 小时前
分布式专题(9)之Mysql高可用方案
分布式·mysql·mgr·mha·mysql高可用·mmm
2401_871213303 小时前
mysql之MHA
数据库·mysql
言之。3 小时前
【MySQL】事务
数据库·mysql
潇湘秦3 小时前
Oracle 11G还有新BUG?ORACLE 表空间迷案!
数据库·oracle
落霞与孤鹭齐飞。。3 小时前
学生考勤系统|Java|SSM|VUE| 前后端分离
java·mysql·毕业设计·课程设计
凡人的AI工具箱4 小时前
每天40分玩转Django:Django Email
数据库·人工智能·后端·python·django·sqlite
后端转全栈_小伵4 小时前
SQLite本地数据库的简介和适用场景——集成SpringBoot的图文说明
数据库·spring boot·后端·sqlite·学习方法