MySQL数据库1:数据库基础

数据库基础

目录

数据库基础

一、卸载MySQL

1.1.停止MySQL服务

1.2.查看MySQL安装包

1.3.卸载MySQL

二、安装MySQL

2.1.安装MySQL

2.2.安全初始化

2.3.登录MySQL

三、数据库的认识

3.1.数据库的概念

3.2.主流的数据库

3.3.使用案例

3.4.服务器、数据库、表

3.5.数据逻辑存储

3.6.MySQL架构

3.7.SQL分类

3.8.存储引擎


一、卸载MySQL

1.1.停止MySQL服务

bash 复制代码
systemctl stop mysql

1.2.查看MySQL安装包

bash 复制代码
dpkg -l | grep mysql

1.3.卸载MySQL

bash 复制代码
apt remove mysql-server mysql-client mysql-common -y // 删除MySQL
rm -rf /var/lib/mysql // 删除残留目录
rm -rf /etc/mysql     // 删除残留目录
apt autoremove -y     // 清理无用依赖

检测是否删除干净

二、安装MySQL

2.1.安装MySQL

云服务器开放3306端口

bash 复制代码
apt install mysql-server -y 

2.2.安全初始化

bash 复制代码
// 启动设置开机自启
systemctl start mysql
systemctl enable mysql
// 安全初始化
mysql_secure_installation

2.3.登录MySQL

bash 复制代码
mysql -uroot -p

补充:开启远程访问,并创建远程root账号

bash 复制代码
// 修改绑定IP, 开启远程访问
vim /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 127.0.0.1 → bind-address = 0.0.0.0
// 重启数据库
systemctl restart mysql
bash 复制代码
// 输入安装时设置的密码
CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;
// 验证版本
mysql -V

-h:指明登录部署了的MySQL服务主机

-P:指明要访问的端口号(可在配置文件修改)

-u:指明登录的用户

-p:指明需要输入密码

三、数据库的认识

3.1.数据库的概念

文件提供了数据存储功能,但是没有提供很好的数据内容管理能力,所以引入了数据库

数据库:一套数据存储方案,在磁盘或内存中存储具有特定组织结构的数据

数据库本质:对数据内容存储的一套解决方案,提供字段与要求,直接返回结果

MySQL:一套提供数据存取服务的网络程序

MySQL本质:基于CS模式的一种网络服务

mysql(C):数据库服务的客户端

mysqld(S):数据库服务的服务端(d:守护进程)

3.2.主流的数据库

SQL Server:微软的产品,中大型项目

Oracle:甲骨文的产品,大型项目,复杂业务,并发性一般

MySQL:甲骨文的产品,不适合做复杂业务,并发性好

SQLite:轻型数据库,嵌入式设备

H2:用Java开发的嵌入式数据库

3.3.使用案例

建立数据库的本质就是在Linux下新建一个目录

在数据库内建表本质就是在Linux下创建对应的文件

创建一个数据库

sql 复制代码
create database helloworld; // 创建数据库

选择一个数据库

sql 复制代码
use helloworld; // 使用数据库

创建数据库表结构

sql 复制代码
// 创建数据库表
create table student(
    name varchar(32),
    age int,
    gender varchar(2)
);

向表中插入数据

sql 复制代码
insert into student (name, age, gender) values ('张三', 20, '男');

从表中选择数据

sql 复制代码
select * from student;

3.4.服务器、数据库、表

安装数据库指的是在主机上安装了一个数据库管理系统程序

该管理程序可以管理多个数据库,开发人员会针对每个应用创建一个数据库

为保存应用中实体的数据,一般会在数据库中创建多个表,来保存程序数据

3.5.数据逻辑存储

3.6.MySQL架构

MySQL是一个可移植的数据库,几乎能在当前所有的操作系统上运行

一层:安全与连接管理

二层:词法语法分析,SQL语句优化

三层:提供多种数据存储方案,可插拔存储引擎

底层:存入文件系统

3.7.SQL分类

DDL(Data Definition Language):数据定义语言

用来维护存储数据的结构,如:create,drop,alter

DML(Data Manipulation Language):数据操纵语言

用来对数据进行操作,如:insert,delete,update

DCL(Data Control Language):数据控制语言

用来负责权限管理和事务,如:grant,revoke,commit

3.8.存储引擎

数据库管理系统如何存储数据,如何为存储数据建立索引,如何更新、查询数据等技术的实现方法

常用:MyISAM、InnoDB

相关推荐
Decay__6 分钟前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
笃行3501 小时前
【金仓数据库产品体验官】订单增量同步实战:MERGE、OUTPUT 与 IDENTITY 的兼容验证
数据库
火云代理3 小时前
同一个网站,有的网络能打开、有的打不开?认识 IPv4 与 IPv6 的访问差异
服务器·网络·网络协议·tcp/ip·测试工具·php·状态模式
坤坤子吖3 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
星恒随风5 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
无足鸟ICT6 小时前
【RHCA+】IO调度算法
linux·服务器
wacsii6 小时前
【Linux进程(四)】命令行参数与环境变量
linux·服务器
无奈笑天下6 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
xiaoye-duck7 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型
科研邪修法7 小时前
培训PDF保护配置:把需求转换成可验收权限
linux·服务器·网络