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

相关推荐
云栖梦泽1 小时前
Linux内存管理
linux·运维·服务器
做运维的阿瑞1 小时前
一个 NULL 让整列姓名消失?MySQL 字符串与日期函数复盘
数据库·sql·mysql
程序猿乐锅1 小时前
【黑马点评 | 第十一篇】关注 Feed 流实现
java·数据库·redis·分布式·后端·缓存·maven
phltxy1 小时前
C 语言文件操作:让数据从内存走向持久化
c语言·网络·数据库
开开心心就好1 小时前
图片白底怎么去掉?抠图工具抠完背景透明
java·服务器·开发语言·pdf·ocr·散列表·启发式算法
阳光九叶草LXGZXJ2 小时前
达梦数据库-学习-69-DM9主备集群部署
linux·运维·服务器·数据库·sql·学习
jnrjian2 小时前
Connect Microsoft Tools to Oracle Databases powerbi 之类的oracle 客户端
数据库·microsoft·oracle
Sun 32852 小时前
Linux 常用命令梳理
linux·运维·服务器·开发·常用命令
一条破秋裤2 小时前
TCP 并发服务器:连接分析、多线程与多进程
服务器·网络·tcp/ip