当前位置: 首页 > news >正文

网站肯定被k亿网联播

网站肯定被k,亿网联播,自适应文章网站模板,网站建设公司宣传册一. 卸载安装和登录 卸载 MYSQL 1. 查看有无mysql服务正在运行: ps ajx | grep mysql 2. 查看到 mysql 的服务名称: systemctl list-units --typeservice | grep mysql 3. 关闭 mysql 服务 4. 卸载 dpkg -l | grep mysql | awk {print $2} | xargs sudo apt remove --purg…

一. 卸载安装和登录

卸载 MYSQL

1.  查看有无mysql服务正在运行:

ps ajx | grep mysql

2. 查看到 mysql 的服务名称:

systemctl list-units --type=service | grep mysql

3. 关闭 mysql 服务

4. 卸载

 dpkg -l | grep mysql | awk '{print $2}' | xargs sudo apt remove --purge -y

5. 再次检查发现没有mysql相关组件


安装MYSQL

1. 下载 MySQL APT Repository 配置包

wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb

2. 安装 MySQL APT Repository 配置包

sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb 

安装过程中,会弹出一个交互式界面, 这里选择了 8.0 版本:

3. 更新软件包列表

sudo apt update

4. 检查 APT 软件源是否包含 MySQL

grep -r 'mysql' /etc/apt/sources.list /etc/apt/sources.list.d/

5. 安装

sudo apt install mysql-server -y  

6. 检查一下 

 7. 启动服务, 查看状态并设置开机自启:

查看启动服务:


登录MYSQL

这里只介绍免密登录, 用于不创建用户快速使用mysql: 

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

在[mysqld]最后⼀栏配置加⼊: skip-grant-tables 选项, 并保存退出

systemctl restart mysql # 重启mysql服务, 使配置生效

现在mysql -uroot 可以直接登录mysql:

配置文件

配置 my.cnf:

[mysqld]
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
datadir     = /var/lib/mysql
log-error   = /var/log/mysql/error.logcharacter-set-server=utf8
# 基础设置  
port=3306
bind-address = 0.0.0.0
symbolic-links=0
# InnoDB 设置
default-storage-engine=innodb# 免密登录
skip-grant-tables

登录选项

 由于一开始为了尽快使用mysql, 选择了免密登录, 导致 MySQL 不开启网络认证模块, 也就 不会监听 3306 端口.

配置文件中将 skip-grant-tables 注释掉, 发现MYSQL正常监听 3306 端口:

但由于root权限还没有设置, 所以此时无法登陆, 后面再说.


二. 数据库基础

mysql与mysqld

1. 站在服务器角度: mysql 和 mysqld 分别是是数据库服务的客户端和服务端, 而 MYSQL产品 本质是基于C(mysql)S(mysqld) 模式的网络服务.

 2. mysql是一种服务, 是什么服务呢? 

MYSQL 是一套给我提供关系型数据存取服务的网络程序.

什么是数据库?

数据库一般是指在磁盘或内存中存储的特定结构组织的数据(数据库文件), 也可以是指将来在磁盘存储的一套数据库方案.

3. 为什么要有数据库?

数据管理技术经历了人工管理、文件系统、数据库系统3个阶段:

  • 人工管理时期是最早期的数据管理方案, 数据不保存, 不共享, 不独立, 由应用程序管理数据, 当数据的逻辑结构或物理结构发生变化后, 必须对应用程序做相应的修改, 这就加重了程序员的负担。
  • 文件系统阶段, 虽然数据由文件系统管理, 可以长期保存, 但文件不利于存储海量数据
    , 数据共享性和独立性仍然差, 冗余度大. 

但我们更关心对于程序员来说, 数据管理是否方便, 一般的文件系统确实提供了数据存储的功能, 但是并没有给用户提供便利的数据管理能力, 我们仅仅是能找到这个数据, 在程序中控制不方便.

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

  • 数据库系统管理数据: 数据结构化;数据的共享性高, 冗余度低, 易扩充; 数据独立性高; 数据由DBMS统一管理和控制

数据库本质是对数据内存存储的一套解决方案, 它对于用户来说就是:"你(user)给我字段或者要求, 我(mysqld)直接给你结果就行", 对于数据的增删查改(主要是查)更方便.

 什么是数据库?

  • 一方面, 数据库是一组有组织的数据集合, 通常存储在磁盘上, 并由数据库管理系统(DBMS, 比如mysqld)进行管理.
  • 另一方面, 也可以认为数据库是数据内存存储的一套解决方案, 包括mysql, mysqld和数据库文件三者的交互.

 数据库文件

先举一个例子, 使用mysql建立一个数据库, 建立一张表结构, 插入一些数据, 对比mysql在linux下是如何实现的:

结论1: 建立数据库的本质, 实际是在datadir目录下创建一个新的目录, 如图: 

结论2:  在数据库内建立一张表, 本质就是在linux下建立对应的文件

进入helloworld目录下, 此时目录什么也没有:

 创建一张student表, 此时 helloworld 目录下多出一个文件:

结论3: 结论1和结论2的这些工作, 都是 mysqld 服务帮我们完成的. 因此程序员不再关心数据库文件本身, 数据库文件的结构由 mysqld 帮我们维护, 程序员对数据的操作从直接操作(文件)变为通过 mysql 客户端请求 mysqld 帮助我们操作(数据库文件).

主流数据库

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

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

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

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

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

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

服务器,数据库,表关系

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

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

MySQL架构

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

1. 连接层(Connection Pool)

主要是解决安全用户连接管理: 如认证用户身份(mysql.user 表), 维持连接管理.

2. SQL 层

主要负责 SQL 解析, 优化和执行

3. 存储引擎层

负责数据的存储和读取,  不同存储引擎提供不同的功能, 默认使用 InnoDB. 

可以注意到图中在SQL层和存储引擎层之间有一个插座图标, 说明存储引擎是支持热插拔的, 想使用哪个存储引擎就像使用插件一样加载进去即可.

综上: mysql依然是一套文件系统, 只是它是基于OS提供的文件系统之上的一层文件系统. 

SQL语句分类

1. DDL【data definition language】 数据定义语言, 用来维护存储数据的结构

代表指令: create, drop, alter

2. DML【data manipulation language】 数据操纵语言, 用来对数据进行操作

代表指令: insert, delete, update

DML中又单独分了一个DQL, 数据查询语言代表指令: select

3. DCL【Data Control Language】 数据控制语言, 主要负责权限管理和事务

代表指令: grant, revoke, commit

存储引擎

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

MySQL的核心就是插件式存储引擎, 支持多种存储引擎

mysql 下使用 show engines; 可以查看存储引擎:

存储引擎对比: 


http://www.dtcms.com/a/413157.html

相关文章:

  • 前端做网站之后的感想总结网站建设方案实训总结
  • 网站cms模板电商网站域名规则
  • 金泉网做网站电话免费查企业最好的网站
  • 网站怎么做域名解析洛可可在线设计平台
  • 南宁专业做网站网站无法排版
  • 做网站用不用云服务器在线图片修改
  • 哪个公司制作企业网站阿里云企业网站备案流程
  • 专门做销售培训的网站短链接在线生成官网免费
  • GLM-4.5V 与 GLM-4.1V-Thinking:迈向通用多模态推理的新里程碑
  • 开封市建设局网站wordpress 区块链媒体
  • 网站关键词更改wordpress详细安装说明
  • 电子商务网站建设作业文档wordpress 不同分类 不同主题
  • 南宁哪些公司专业做网站网站建设感悟
  • 昆明体育城微网站建设seo优化专员工作内容
  • FAST_LIO_ROS2 可以用gazebo仿真吗?
  • 平台网站建设ppt易风网站建设
  • 郑州pc网站建设杭州seo公司哪家好
  • 网站 站外链接设计网页页面
  • php做企业网站需要多久扁平化网站特效
  • 上海周边网站建设河南金城建设工程有限公司网站
  • 坪地网站建设教程国内外知名提供邮箱服务的网站
  • 上海文明城市建设网站上网建站推广
  • 有没有免费做英语题的网站企业年金退休能拿多少
  • 如何做属于自己的领券网站网站做等保是按照什么定级别的
  • c 可以做网站吗福州网络营销推广产品优化
  • 传媒公司网站河南省住房和城乡建设厅人教处网站
  • 网站开发与网页制作难不难可以通过哪些网站注册域名
  • 遵义北京网站建设店铺管理app
  • 想做个ktv的网站怎么做类似凡科网的网站
  • 网站二次开发是什么意思北京建设网站哪里好