MySQl基础----Linux下搭建mysql软件及登录和基本使用(附实操图超简单一看就会)

news2024/12/26 23:44:15

绪论​
涓滴之水可磨损大石,不是由于他力量强大,而是由于昼夜不舍地滴坠。 只有勤奋不懈地努力,才能够获得那些技巧。 ——贝多芬。新开MySQL篇章,本章非常基础包括如何在Linux上搭建(当然上面的SQL语句你在其他能执行SQL语句的软件上也能正常执行,并非一定要在Linux环境下)和mysql的基本使用,但同时需要一定的Linux基础,所以假若你没学习过Linux建议查看我的Linux专栏来巩固一定的Linux知识。我将持续更新期待你的关注。
在这里插入图片描述
话不多说安全带系好,发车啦(建议电脑观看)。

思维导图:

请添加图片描述


1.清理陈旧环境

在这里插入图片描述

  1. 查看mysql安装包,若有则删除
查看:
rpm -qa | grep mysql

在这里插入图片描述

删除:
rpm -qa | grep mysql | xargs yum -y remove #xargs卸载程序

在这里插入图片描述

  1. 查看是否存在mysql的配置文件 /etc/my.cnf 若有就需要再删除该文件
    在这里插入图片描述
    一般mysql的数据会放到 /var/lib/mysql/ 中,当删除了mysql后数据仍然可能会存在(可保留不删除)
    在这里插入图片描述

2.获取更新mysql官方yum源并实现安装

  1. 查看自身系统版本:
cat /etc/redhat-release

在这里插入图片描述

  1. 获取匹配自身版本的MySQL安装包

访问MySQL开发者专区:https://dev.mysql.com/downloads/repo/yum/(附:可能需要注册oracle,自行注册登录下即可)
选择匹配的mysql版本下载即可,centos7可选:
在这里插入图片描述
mysql80-community-release-el7-1.noarch.rpm,其中:mysql80: MySQL版本号,默认是MySQL8.0版本;el7 : 其中el 是 Enterprise Linux的编写,7表⽰ Linux⼤版本号,⽐如el6 表⽰ Linux6, el7表⽰Linux7, e8表⽰Linux8, el9表⽰Linux9,;‘fc’ 则表⽰ Fedora;el7-1:表⽰MySQL仓库配置RPM包的第1次更新

  1. 将下载好的mysql的rpm安装包上传到Linux中

通过rz指令将本地文件上传到Linux服务器中
在这里插入图片描述
附:若没有rz软件则先安装:

yum install -y lrzsz
  1. 更新mysql到yum安装列表中

查看yum源安装列表:ls /etc/yum.repos.d/
下图一开始没有mysql,也就无法安装,所以需要rpm指令让mysql安装包放进安装列表中去使能够被yum安装

rpm指令:
rpm -ivh 下载好的mysql rpm安装包
rpm -ivh mysql84-community-release-el7-1.noarch.rpm

在这里插入图片描述
当执行指令后,再次查看安装列表就多了mysql的(上图最后一个框)

  1. 开始安装

正常yum直接安装:

yum install -y mysql-community-server

查看是否成功的方法查看下述文件和程序是否存在:
在这里插入图片描述

3.启动mysql

语法:

systemctl start mysqld

查看是否启动mysql进程(mysqld使mysql的服务端):

ps ajx | grep mysqld

在这里插入图片描述

4.常规登录

登录语法:

mysql -uroot -p

此时发现需要输密码:
⾸次安装成功,密码可能为以下几种情况:

  1. MySQL把root⽤⼾的默认密码保存在错误⽇志中
    通过日志查看密码:
grep 'temporary password' /var/log/mysqld.log

就能查看到密码:
在这里插入图片描述
所以输入密码就登录上了(此处输入密码同样是不显的)
在这里插入图片描述

4.1登录进去mysql后要先修改成自己的密码:

对于validate_password组件是默认安装的,实现的默认密码策略,要求密码⾄少包含1个⼤写字⺟、1个⼩写字⺟、1个数字和1个特殊字符,密码总⻓度⾄少为8个字符。
设置密码语法:

ALTER USER 'root'@'localhost' IDENTIFIED BY '输入自己的密码';

4.2若想设置成简单的密码:

默认密码策略:密码策略分为 LOW 、 MEDIUM (默认)和 STRONG ,分别⽤0,1(默认),2表⽰。0表⽰只校验密码⻓度,⻓度最⼩为8,所以以后要设置简单密码时还需要修改密码的⻓度限制。他们分别⽤两个系统变量validate-password.policy和validate_password.length表⽰。

例:如果我们要在开发环境设置如123456的简单密码那么就要修改默认密码策略,我们只需要设置:

  1. validate-password.policy为LOW
  2. validate_password.length为小于所需长度的值即可

具体如:

show variables like 'validate_password.policy'; #查看密码策略

show variables like 'validate_password.length'; #查看当前密码⻓度限制
set global validate_password.policy=0; #策略设置为LOW

set global validate_password.length=4; #密码⻓度最少为4位(系统限制不能⼩于4位)

在修改密码为’123456’即可成功

  1. 若不存在日志的话:可能是不用输入密码直接回车就能直接登录进去

  2. 倘若还不行就修改mysql的配置文件:

vim /etc/my.cnf #打开mysql配置文件
#在最后一栏配置加入选项:
skip-grand-tables #跳过密码认证

如下:
在这里插入图片描述
重启mysql服务,让配置文件生效:

systemctl restart mysqld #重启
#或者先关闭在开启
systemctl stop mysqld
systemctl start mysqld
# 再打开就直接回车即可进入
mysql -uroot -p #-u后面加用户

5.mysql的配置文件

同样在 /etc/my.cnf文件中设置
添加如下选项(设置端口、编码方式和引擎):
在这里插入图片描述
附:还能设置能开机启动:

systemctl enable mysqld
systemctl daemon-reload

6.连接服务器具体操作:

mysql -h 127.0.0.1 -P 3306 -u root -p
-h:指明登录部署了mysql的服务主机
-P:指明访问的端口
-u:指明登录用户
-p:指明要输入密码

7.数据库基础

  1. mysql是数据库服务的客户端
  2. mysqld是数据库服务的服务器端
  3. mysql本质:基于C(mysql)S(mysqld)模式的一种网络服务
  4. mysql是一套给我们提供数据存取的服务的网络程序
  5. 数据库一般指的是,在磁盘/内存中存储的特定结构组织的数据,将来在磁盘上存储的一套数据库方案
  6. 理解数据库服务端mysqld、数据库客户端mysql以及底层文件的关系:
    在这里插入图片描述
    一般的文件确实提供了数据的存储功能,但是文件并没有提供非常好的数据管理能力,所以需要一套管理文件的程序,这样我们程序员使用时就能更加快捷的管理好内部存储的数据!
  7. 数据库本质:对数据内容存储的一套解决方案,你给我字段或者要求,数据库直接给出想要的结果。

8.mysql的基础使用

  1. 建立数据库和查看数据库:
create database helloworld; #创建数据库:create database 数据库名

show databases;#查看已存在的数据库,一般会默认存在些 

附:建立数据库,本质就是创建一个文件
在这里插入图片描述

  1. 表格的创建和插入的数据
    在库中存储的数据是以表格的形式存储的,要创建表就得先使用(进入)到数据库中,才能初始化创建表格样式,最后插入数据到表格中。
use helloworld; #使用表

create table student( #创建初始表格
name varchar(32),
age int,
gender varchar(2)
);

show tables;#查看创建好的表

insert into student(name,age,gender) value('张三',20,'男'); #插入数据到表格中:

select * from student;#查看表的内容

在这里插入图片描述
在这里插入图片描述
附:在数据库库中创建表格也就相当于Linux下创建一个文件(mysqld服务端执行的)!
在这里插入图片描述
3. 对此mysql帮我们解决了:程序员就不用再去关心数据文件了,只用去想要对文件做什么,然后通过mysql完成即可。
在这里插入图片描述

附:mysql的数据是按逻辑存储的,通过行列的方式来存储数据的(二维结构),按行进行插入。

9.主流数据库:

  • SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目。
  • Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL。
  • MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好。
  • PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费使用,修改和分发。
  • SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
  • H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。

服务器、数据库、表的关系相当于下图:
在这里插入图片描述

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

10.MySQL架构

在这里插入图片描述
大致分为三层

  1. 上图在MySQL Server中connection pool用于链接,将所写的SQL语句和底层连接起来。
  2. 再connection pool下面的四个框其本质就是用来解释以及优化所写的SQL语句(类似于编译器)。
  3. 再下面Pluggable Storage Engines是各种存储引擎其作用是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法(类似于计算机中的驱动)。

11.SQL分类

  • DDL:DDL【data definition language】 数据定义语言,用来维护存储数据的结构,代表指令: create, drop, alter
  • DML【data manipulation language】 数据操纵语言,用来对数据进行操作代表指令: insert,delete,update
  • DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务,代表指令: grant,revoke,commit
    DDL可以理解为库、表结构的操作,而DML就是结构体内的操作(理解成对库、表内部数据的操作!)

12.存储引擎

存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
Mysql的核心就是插件时的存储引擎,它是支持各种存储引擎的。
查看能使用的所有存储引擎语法:

show engines \G;

在这里插入图片描述


本章完。预知后事如何,暂听下回分解。

如果有任何问题欢迎讨论哈!

如果觉得这篇文章对你有所帮助的话点点赞吧!

持续更新大量MySQL细致内容,早关注不迷路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1809854.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UnityXR Interaction Toolkit 如何使用XRHand手部识别

前言 Unity的XR Interaction Toolkit是一个强大的框架,允许开发者快速构建沉浸式的VR和AR体验。随着虚拟现实技术的发展,手部追踪成为了提升用户交互体验的关键技术之一。 本文将介绍如何在Unity中使用XR Interaction Toolkit实现手部识别功能。 准备工作 在开始之前,请…

Chat-TTS:windows本地部署实践【有手就行】

最近Chat-TTS模型很火,生成的语音以假乱真,几乎听不出AI的味道。我自己在本地部署玩了一下,记录一下其中遇到的问题。 环境: 系统:windows 11 GPU: Nvidia 4060 Cuda:12.1(建议安…

后方碰撞预警系统技术规范(简化版)

后方碰撞预警系统技术规范(简化版) 1 系统概述2 预警区域3 预警目标4 功能需求功能条件5 显示需求6 指标需求1 系统概述 后方碰撞预警系统RCW(Rear Collision Warning)是在后方车辆即将与自车发生碰撞之前,激活危险警告灯以较高频率闪烁,从而吸引后方驾驶员的注意力,避免…

PG 数据库常用参数调整

1.shard_buffers Postgresql使用自己的缓冲区,也使用操作系统缓冲区。这意味着数据存储在内存中两次,首先是 Postgresql缓冲区,然后是操作系统缓冲区。 与其他数据库不同, Postgresql不提供直接IO。这称为双缓冲(就是磁盘中的时候读的时候先放在数据库的缓冲区&am…

【Python教程】3-控制流、循环结构与简单字符串操作

在整理自己的笔记的时候发现了当年学习python时候整理的笔记,稍微整理一下,分享出来,方便记录和查看吧。个人觉得如果想简单了解一名语言或者技术,最简单的方式就是通过菜鸟教程去学习一下。今后会从python开始重新更新&#xff0…

Vue17-条件渲染

一、使用v-show属性做条件渲染 控制元素的显示和隐藏 v-show里面也能是表达式,只要表达式的值是boolean就行。 或者 当时结构还在: 二、使用v-if属性做条件渲染 结构也不在了 三、示例 方式一: 方式二: 当元素有很高的切换频率&am…

【web本地存储】storage事件,StorageEvent对象介绍

storage事件 Web Storage API 内建了一套事件通知机制,当存储区域的内容发生改变(包括增加、修改、删除数据)时,就会自动触发storage事件,并把它发送给所有感兴趣的监听者,因此,如果需要跟踪存…

第十二届蓝桥杯单片机国赛练习代码

文章目录 前言一、问题重述二、主函数总结 前言 第十五蓝桥杯国赛落幕已有十天,是时候总结一下,这个专栏也将结束。虽然并没有取得预期的结果,但故事结尾并不总是美满的。下面是赛前练习的第十二届国赛的代码。 一、问题重述 二、主函数 完整…

万向节锁死(Gimbal Lock)

Gimbal Lock是一个常见的3D动画问题,主要由旋转顺序引起的。我来详细解释一下它的成因: 在三维空间中,任何旋转都可以分解为绕X,Y,Z三个轴的欧拉旋转(Euler Rotation)。每个轴的旋转是按照一定顺序进行的,比如XYZ或ZYX等。 理论上,通过这三个旋转值的组合,可以达到任意的空间…

MATLAB实现磷虾算法(Krill herd algorithm)

1.算法介绍 磷虾算法(Krill Herd Algorithm, KH)是一种基于生物启发的优化算法,其原理模拟了南极磷虾(Euphausia superba)群体的聚集行为。该算法旨在通过模拟磷虾个体间的相互作用、觅食行为和随机扩散,来…

设计模式 —— 观察者模式

设计模式 —— 观察者模式 什么是观察者模式观察者模式定义观察者模式的角色观察者模式的使用场景观察者模式的实现 被观察者(Subject)观察者(Observer)通知(notify)更新显示(update&#xff09…

Webpack 从入门到精通-基础篇

一、webpack 简介 1.1 webpack 是什么 webpack 是一种前端资源构建工具,一个静态模块打包器(module bundler)。 在 webpack 看来, 前端的所有资源文件(js/json/css/img/less/...)都会作为模块处理。 它将根据模块的依赖关系进行静态分析,打包生成对应的…

MYSQL六、存储引擎的认识

一、存储引擎 1、MySQL体系结构 连接层:最上层是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为…

Open vSwitch 数据包接收的实现

一、Open vSwitch 数据包的来源 Open vSwitch 中的数据包有许多种来源: 物理网络接口:OVS 可以连接到物理网络设备,并处理从这些设备收到的数据包。这些数据包可能来自外部网络,需要被转发或进一步处理。虚拟网络接口&#xff1a…

MySQL 常见客户端程序

本篇主要介绍MySQL常见的客户端程序 目录 一、mysqlcheck 二、mysqldump 三、mysqladmin 四、mysqldumpslow 五、mysqlbinlog 六、mysqlshow 显示列的具体信息​编辑 七、mysqlslap 一、mysqlcheck mysqlcheck是MySQL的表维护程序,其功能主要包含以下四个方…

遗传算法笔记:基本工作流程

1 介绍 遗传算法有5个主要任务,直到找到最终的解决方案 2 举例 2.1 问题描述 比如我们有 5 个变量和约束,其中 X1、X2、X3、X4 和 X5 是非负整数且小于 10(0、1、2、4、5、6、7、8、9)我们希望找到 X1、X2、X3、X4 和 X5 的最…

01 Linux网络设置

目录 1.1 查看及测试网络 1.1.1 查看网络配置 1. 查看网络接口地址 1. 查看活动的网络接口设备 2. 查看指定的网络接口信息 2. 查看主机名称 3. 查看路由表条目 4. 查看网络连接情况 1.1.2 测试网络连接 1. 测试网络连通性 2. 跟踪数据包的路由途径 3. 测试DNS域名解析 1.2 设…

Apache ShardingSphere实战与核心源码剖析

Apache ShardingSphere实战与核心源码剖析 1.数据库架构演变与分库分表介绍 1.1 海量数据存储问题及解决方案 如今随着互联网的发展,数据的量级也是成指数的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求。…

HTML LocalStorage

一篇关于HTML本地存储的文章 Window.localStorage 只读的localStorage 属性允许你访问一个Document 源(origin)的对象 Storage;存储的数据将保存在浏览器会话中。 localStorage 类似 sessionStorage,但其区别在于:存储…

AXI_GPIO

REVIEW 关于PS端已经学习过: zynq PS端 GPIO-CSDN博客 zynq PS点灯-CSDN博客 C基础与SDK调试方法-CSDN博客 Zynq上GPIO无论是MIO还是EMIO,都是属于PS侧的资源,相当于是硬核。 而作为一个PS与PL相互协作的平台,当PS侧的GPIO硬核不…