您的位置:首页 > 娱乐 > 明星 > 大专毕业论文3000字免费_购物网站推广怎么做_国内seo排名分析主要针对百度_海南百度推广公司有哪些

大专毕业论文3000字免费_购物网站推广怎么做_国内seo排名分析主要针对百度_海南百度推广公司有哪些

2025/3/7 0:16:10 来源:https://blog.csdn.net/Sakura_ding/article/details/146015551  浏览:    关键词:大专毕业论文3000字免费_购物网站推广怎么做_国内seo排名分析主要针对百度_海南百度推广公司有哪些
大专毕业论文3000字免费_购物网站推广怎么做_国内seo排名分析主要针对百度_海南百度推广公司有哪些

什么是数据库

存储数据用文件就可以了,为什么还要弄个数据库?

文件保存数据有以下几个缺点:

  1. 文件的安全性问题
  2. 文件不利于数据查询和管理
  3. 文件不利于存储海量数据
  4. 文件在程序中控制不方便

数据库存储介质:

  1. 磁盘
  2. 内存

为了解决上述问题,专家们设计出更加利于管理数据的东西——数据库,它能更有效的管理数据。数据
库的水平是衡量一个程序员水平的重要指标。

主流数据库

SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目。

Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL。

MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电
商,SNS,论坛。对简单的SQL处理效果好。

PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研
究使用,可以免费使用,修改和分发。

SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。

H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。

基本使用

Ubuntu系统下的MySQL与CentOS系统下的操作在整体功能和使用上是相似的,但在安装、管理服务等部分操作细节上存在一些区别,以下为你详细介绍:

1. 安装方式(在【MySQL】安装教程已详细介绍)

  • Ubuntu:使用apt包管理工具,它是基于Debian的软件包管理系统。安装前先更新软件包列表,然后安装MySQL服务器。
sudo apt update
sudo apt install mysql-server
  • CentOS:使用yum(CentOS 7及以下版本)或dnf(CentOS 8及以上版本)包管理工具,属于Red Hat系列的软件包管理系统。通常需要先配置MySQL官方的Yum存储库,再进行安装。以CentOS 7为例:
wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
sudo yum localinstall mysql80-community-release-el7-5.noarch.rpm
sudo yum makecache
sudo yum install mysql-community-server

2. 服务管理

  • Ubuntu:使用systemctlservice命令来管理MySQL服务,systemctl是更推荐的方式,它是基于systemd的服务管理工具。
# 启动服务
sudo systemctl start mysql
# 停止服务
sudo systemctl stop mysql
# 重启服务
sudo systemctl restart mysql
# 设置开机自启
sudo systemctl enable mysql
  • CentOS:同样使用systemctlservice命令,但服务名称为mysqld
# 启动服务
sudo systemctl start mysqld
# 停止服务
sudo systemctl stop mysqld
# 重启服务
sudo systemctl restart mysqld
# 设置开机自启
sudo systemctl enable mysqld

3. 初始密码设置

  • Ubuntu:在Ubuntu 18.04及以后版本中,MySQL的root用户默认使用auth_socket插件进行身份验证,而不是传统的密码验证。这意味着你可以直接使用sudo mysql命令以root身份登录,无需密码。如果要设置密码,可以在登录后执行以下操作:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;
  • CentOS:在MySQL 8.0中,安装完成后会生成一个初始的临时密码,存储在日志文件中。可以使用以下命令查看:
sudo grep 'temporary password' /var/log/mysqld.log

登录后,必须先修改初始密码才能进行其他操作。

4. 防火墙设置

  • Ubuntu:默认使用ufw(Uncomplicated Firewall)作为防火墙管理工具。如果要允许外部访问MySQL服务,需要开放3306端口。
sudo ufw allow 3306
  • CentOS:默认使用firewalld作为防火墙管理工具。同样需要开放3306端口。
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

5. 软件包更新

  • Ubuntu:使用apt进行软件包更新。
sudo apt update
sudo apt upgrade
  • CentOS:使用yum(CentOS 7及以下)或dnf(CentOS 8及以上)进行软件包更新。
# CentOS 7及以下
sudo yum update
# CentOS 8及以上
sudo dnf update

6. 系统默认配置文件位置

  • Ubuntu:MySQL的配置文件通常位于/etc/mysql/mysql.conf.d/mysqld.cnf
  • CentOS:配置文件一般在/etc/my.cnf/etc/my.cnf.d/目录下。

虽然存在上述操作上的区别,但在MySQL数据库的使用层面,如创建数据库、表,执行SQL查询等核心操作,在两种系统下是完全相同的。

7. 登录 MySQL 数据库

使用以下命令以 root 用户身份登录到 MySQL:(直接回车即可)

sudo mysql -u root -p

输入之前设置的 root 用户密码后,即可进入 MySQL 命令行界面。

服务器,数据库,表关系

  • 所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
  • 为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。

数据库服务器、数据库和表的关系如下:
在这里插入图片描述
注意:

1. MySQL是数据库的客户端2. MySQLD是数据库服务的服务端3. MySQL本质: 基于CS模式的一种网络服务;对数据内容存储的一套解决方案(你给我字段要求,我直接给你结果)
which mysql

回显:/bin/mysql #基于ubuntu系统下

which mysqld

回显:/sbin/mysqld #基于ubuntu系统下

在这里插入图片描述
总结:

  1. mysql是一套给我提供数据存取服务的网络程序
  2. 数据库一般指的是在磁盘或者内存中存储的特定结构组织的数据,将来在磁盘上存储的一套数据库方案
  3. 数据库服务一般指的是mysqld

使用案例(输入命令时注意;)

  • 创建数据库
create database helloworld;
  • 使用数据库
use helloworld;
  • 创建数据库表
create table student(id int,name varchar(32),gender varchar(2)
);
  • 表中插入数据
insert into student (id, name, gender) values (1, '张三', '男');
insert into student (id, name, gender) values (2, '李四', '女');
insert into student (id, name, gender) values (3, '王五', '男');
  • 查询表中的数据
select * from student;
  • 查看数据库服务器中的所有数据库
show databases;

在这里插入图片描述

MySQL架构

MySQL 是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如 Unix/Linux、Windows、
Mac 和 Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体
系结构的一致性。
在这里插入图片描述

SQL分类

  • DDL【data definition language】 数据定义语言
    用来维护存储数据的结构,代表指令: create, drop, alter
  • DML【data manipulation language】 数据操纵语言,
    用来对数据进行操作代表指令: insert,delete,update,DML中又单独分了一个DQL,数据查询语言,代表指令: select
  • DCL【Data Control Language】 数据控制语言
    主要负责权限管理和事务代表指令: grant,revoke,commit

存储引擎

存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
MySQL的核心就是插件式存储引擎,支持多种存储引擎。

查看存储引擎

show engines;

在这里插入图片描述

存储引擎对比

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com