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

滚雪球学MySQL[1.1讲]:MySQL简介与环境配置

全文目录:

    • 前言
    • 1. MySQL简介与环境配置
      • 1.1 MySQL简介
        • 什么是MySQL
        • MySQL的历史和版本
        • MySQL的应用场景
      • 1.2 安装与配置
        • 安装MySQL(Windows、Linux、macOS)
        • 配置文件解析(my.cnf)
        • 启动与停止MySQL服务
      • 1.3 MySQL客户端工具
        • MySQL命令行工具(mysql)
        • 图形化工具
    • 下期内容预告

前言

在上一期的文章中,我们深入探讨了关系型数据库的基本概念以及如何在Java应用中使用SQLite。我们详细介绍了SQLite的安装、配置和基本的CRUD(创建、读取、更新、删除)操作,为开发者提供了一个轻量级数据库的初步实践。然而,随着项目规模的增长和数据量的增大,SQLite的局限性逐渐显现,特别是在并发操作和数据量较大时,性能可能无法满足需求。因此,我们将目光转向了一种更加成熟和强大的数据库管理系统——MySQL。

本期文章将详细介绍MySQL,从基本概念到安装配置,为大家铺设一条通向MySQL世界的大道。无论是开发人员还是数据库管理员,掌握MySQL都是现代软件开发中的必备技能。

1. MySQL简介与环境配置

1.1 MySQL简介

什么是MySQL

MySQL是一款流行的开源关系型数据库管理系统(RDBMS),以其高效、可靠和灵活的特点在全球范围内广泛应用。MySQL采用了结构化查询语言(SQL)作为其核心语言,支持多种操作系统和编程语言,特别是在Web开发和企业系统中表现优异。

MySQL的历史和版本

MySQL最早由瑞典的MySQL AB公司于1995年发布,随着互联网的迅猛发展,MySQL凭借其出色的性能和易用性迅速崛起。2008年,Sun Microsystems收购了MySQL AB,之后Sun又被Oracle收购,从此MySQL成为Oracle公司的一部分。MySQL的发展历程充满了创新与变革,从最初的1.0版本到如今的8.0版本,每一次迭代都在性能、功能和安全性上有了显著的提升。

目前,MySQL主要分为两个版本:社区版和企业版。社区版是开源的,免费提供给开发者使用,而企业版则包含了一些高级功能和技术支持,适合大型企业使用。

MySQL的应用场景

MySQL因其卓越的性能和灵活性,被广泛应用于各种类型的项目中。以下是MySQL的一些典型应用场景:

  1. Web应用:MySQL是LAMP(Linux, Apache, MySQL, PHP/Perl/Python)架构的核心组件之一,被广泛用于构建动态网站和Web应用。
  2. 企业系统:MySQL在ERP、CRM等企业管理系统中扮演着重要角色,支持复杂的数据处理和分析。
  3. 数据仓库:虽然MySQL不是为数据仓库专门设计的,但通过优化和扩展,MySQL也可以用作中小型数据仓库,处理大量的历史数据分析任务。
  4. 内容管理系统(CMS):如WordPress、Drupal等流行的CMS都以MySQL作为其底层数据库。

1.2 安装与配置

为了在本地或服务器上使用MySQL,您需要进行MySQL的安装与配置。以下内容将涵盖在不同操作系统上安装MySQL的步骤、配置文件的解析,以及如何启动和停止MySQL服务。

安装MySQL(Windows、Linux、macOS)
  • Windows系统

    1. 前往MySQL官方网站下载MySQL Installer。
    2. 运行安装程序,选择要安装的组件,包括MySQL Server、MySQL Workbench等。
    3. 按照安装向导的步骤进行配置,设置root密码和端口号(默认3306)。
    4. 完成安装后,通过MySQL Workbench或命令行工具访问MySQL。
  • Linux系统

    在大多数Linux发行版中,您可以使用包管理器来安装MySQL。以Ubuntu为例:

    sudo apt-get update
    sudo apt-get install mysql-server
    

    安装完成后,MySQL会自动启动,您可以通过以下命令检查MySQL服务状态:

    sudo systemctl status mysql
    
  • macOS系统

    在macOS上,您可以使用Homebrew来安装MySQL:

    brew update
    brew install mysql
    

    安装完成后,使用以下命令启动MySQL服务:

    brew services start mysql
    
配置文件解析(my.cnf)

MySQL的配置文件是my.cnf(在Windows系统中为my.ini),该文件中定义了MySQL服务器的各项配置参数。常见的配置项包括:

  • [mysqld]:配置MySQL服务器的核心参数,如端口号、数据存储路径等。

    • port=3306:MySQL服务器的监听端口,默认是3306。
    • datadir=/var/lib/mysql:数据库文件的存储路径。
    • socket=/var/lib/mysql/mysql.sock:Unix socket文件路径,用于本地连接。
  • [client]:配置客户端连接的默认参数。

    • user=root:默认使用的用户名。
    • password=your_password:默认使用的密码(注意安全性)。
  • [mysqld_safe]:配置MySQL守护进程的参数,用于确保MySQL服务的稳定运行。

在实际应用中,您可以根据需求调整这些配置,以优化MySQL的性能和安全性。

启动与停止MySQL服务

MySQL安装后,您需要了解如何管理MySQL服务的启动与停止。

  • Windows系统

    您可以通过服务管理器或者命令行工具来启动或停止MySQL服务:

    net start mysql
    net stop mysql
    
  • Linux系统

    使用systemctl命令管理MySQL服务:

    sudo systemctl start mysql
    sudo systemctl stop mysql
    sudo systemctl restart mysql
    
  • macOS系统

    使用Homebrew管理MySQL服务:

    brew services start mysql
    brew services stop mysql
    

1.3 MySQL客户端工具

MySQL提供了丰富的客户端工具来帮助用户管理和操作数据库。这些工具既有命令行界面,也有图形化界面,满足不同用户的需求。

MySQL命令行工具(mysql)

MySQL命令行工具是最基本的客户端工具,它允许用户通过命令行直接与MySQL服务器交互。通过命令行工具,用户可以执行SQL语句、管理数据库和用户、查看和修改配置等操作。

启动命令行工具的方法如下:

mysql -u root -p

输入密码后,您将进入MySQL命令行模式,可以直接输入SQL语句来操作数据库。

图形化工具
  • MySQL Workbench

    MySQL Workbench是一款官方提供的图形化数据库管理工具,集数据库设计、开发和管理于一体。它支持数据库建模、SQL开发、数据迁移和服务器配置等功能,是管理MySQL数据库的强大工具。

  • phpMyAdmin

    phpMyAdmin是一款基于Web的MySQL管理工具,适合在Web服务器上远程管理MySQL数据库。它提供了用户友好的界面,可以方便地执行SQL查询、管理数据库和表结构、导入导出数据等操作。

  • Navicat

    Navicat是一个多数据库管理系统,支持MySQL、MariaDB、Oracle等多种数据库。它提供直观的图形界面,便于数据库设计、数据迁移、查询编辑和报表生成。Navicat还支持数据同步、备份和恢复,以及高级的SQL开发功能,是数据库管理员和开发者的得力助手。

下期内容预告

在本期文章中,我们详细介绍了MySQL的基本概念、安装与配置,以及如何使用客户端工具与MySQL进行交互。通过这些内容,您已经为MySQL的实际应用打下了坚实的基础。在下一期内容中,我们将进入MySQL的核心——基础SQL操作。我们将深入探讨如何创建和管理数据库与表,执行基本的增删改查操作,以及如何使用SQL语句对数据进行过滤和排序。这些知识将为您在开发中高效操作MySQL数据库提供强有力的支持,敬请期待!

相关文章:

滚雪球学MySQL[1.1讲]:MySQL简介与环境配置

全文目录: 前言1. MySQL简介与环境配置1.1 MySQL简介什么是MySQLMySQL的历史和版本MySQL的应用场景 1.2 安装与配置安装MySQL(Windows、Linux、macOS)配置文件解析(my.cnf)启动与停止MySQL服务 1.3 MySQL客户端工具MyS…...

Llama微调以及Ollama部署

1 Llama微调 在基础模型的基础上,通过一些特定的数据集,将具有特定功能加在原有的模型上。 1.1 效果对比 特定数据集 未使用微调的基础模型的回答 使用微调后的回答 1.2 基础模型 基础大模型我选择Mistral-7B-v0.3-Chinese-Chat-uncensored&#x…...

中关村环球时尚产业联盟 东晟时尚产业创新中心成立

2024年9月6日,中关村环球时尚产业联盟与东晟时尚创新科技(北京)有限公司于中关村科技园东城园举行了隆重的战略合作签约仪式。 中关村科技园东城园领导发表了致辞,并表示东城区作为首都北京的核心区域,拥有深厚的历史…...

基于SSM的宠物领养管理系统的设计与实现 (含源码+sql+视频导入教程+文档+PPT)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的宠物领养管理系统2拥有两种角色 管理员:宠物分类管理、领养管理、宠物商品管理、用户管理、寄存管理、丢失信息管理、订单管理等 用户:登录注册、收藏评…...

为什么要配置环境变量?

在 Windows 操作系统中配置环境变量有多个重要的原因,这些原因与软件开发、系统管理和日常使用密切相关。以下是一些主要的原因: 1. 系统路径(PATH) 可执行文件的位置:PATH 环境变量用于指定操作系统在何处查找可执行…...

条件熵公式详细解释、举例说明计算步骤

公式 7-4 是条件熵的表达式: E ( Y ∣ X ) ∑ i 1 m p ( X x i ) E ( Y ∣ X x i ) E(Y|X) \sum_{i1}^m p(X x_i) E(Y | X x_i) E(Y∣X)i1∑m​p(Xxi​)E(Y∣Xxi​) 这个公式表示的是条件熵,它是衡量在已知某一特征 X X X 的情况下&#xff0c…...

颍川陈氏始祖陈寔逆势崛起的原由(一)不屈的努力

园子说颍川 按陈寔的出身,与当官是风马牛不相及的。 东汉末年的社会,朝中外戚、宦官当道,地方则由世家大族把持,郡县的政治经济资源都由他们掌控分配,平民以及中小地主很难有出头之日,弄不好就被兼并了。…...

golang小项目1-家庭收支记账系统

项目地址:golang小项目 参考资料:尚硅谷golang教程P229 家庭收支记账系统 1. 系统简介 1.1 项目背景 在现代社会中,家庭的财务管理显得尤为重要。随着生活成本的不断上升,家庭需要有效地记录和分析收支情况,以确保…...

Visual Studio Code下载安装及汉化

官网:https://code.visualstudio.com/ 按照指示一步步操作即可: 汉化:...

MySQL—触发器详解

基本介绍 触发器是与表有关的数据库对象,在 INSERT、UPDATE、DELETE 操作之前或之后触发并执行触发器中定义的 SQL 语句。 触发器的这种特性可以协助应用在数据库端确保数据的完整性、日志记录、数据校验等操作。 使用别名 NEW 和 OLD 来引用触发器中发生变化的记…...

钉钉H5微应用Springboot+Vue开发分享

文章目录 说明技术路线注意操作步骤思路图 一、创建钉钉应用二、创建java项目三、创建vue项目(或uniapp项目),npm引入sdk的依赖四、拥有公网域名端口。开发环境可以使用(贝锐花生壳等工具)五、打开钉钉开发者平台&…...

项目:微服务即时通讯系统客户端(基于C++QT)]四,中间界面搭建和逻辑准备

四,中间界面搭建 前言:当项目越来越复杂的时候,或许画草图是非常好的选择 一,初始化中间窗口initMidWindow void mainWidget::initMidWindow() {//使用网格布局进行管理QGridLayout* layout new QGridLayout();//距离上方 20px 的距离&…...

【C语言】指针详解(一)

个人主页 : zxctscl 如有转载请先通知 文章目录 1.内存与地址2.指针变量与地址2.1 取地址操作符&2.2 指针变量2.3 指针类型2.4 解引用操作符2.5 指针变量的大小 3. 指针变量类型的意义3.1 指针的解引用 4. const修饰指针4.1 const修饰变量4.2 const修饰指针变量…...

unity3D雨雪等粒子特效不穿透房屋效果实现(粒子不穿透模型)

做项目有时候会做天气模拟,模拟雨雪天气等等。但是容易忽略一个问题,就是房屋内不应该下雨或者下雪,这样不就穿帮了嘛。 下面就粒子穿透物体问题做一个demo。 正常下雨下雪在室内的话,你可以看到,粒子是穿透建筑的。 那要怎么模拟真实的雨雪天气,不让粒子穿透房屋建筑呢…...

ROS2安装cartographer

2. 安装Cartographer和Cartographer ROS 使用apt安装(推荐): bash sudo apt install ros-humble-cartographer-ros或者,从源代码安装: bash sudo apt-get update sudo apt-get install -y python3-wstool python3…...

kafka测试

1】确认 ZooKeeper 服务状态 为了进一步确认 ZooKeeper 服务的状态,你可以执行以下操作: 检查 ZooKeeper 服务状态: docker ps 确保 ZooKeeper 容器正在运行。 检查 ZooKeeper 日志: docker logs zookeeper 查看最新的日志条目&…...

总结C/C++中内存区域划分

目录 1.C/C程序内存分配主要的几个区域: 2.内存分布图 1.C/C程序内存分配主要的几个区域: 1、栈区 2、堆区 3、数据段(静态区) 4.代码段 2.内存分布图 如图: static修饰静态变量成员——放在静态区 int globalVar 是…...

第168天:应急响应-ELK 日志分析系统Yara规则样本识别特征提取规则编写

目录 案例一:ELK 搭建使用-导入文件&监控日志&语法筛选 案例二:Yara 规则使用-规则检测&分析特征&自写规则 案例一:ELK 搭建使用-导入文件&监控日志&语法筛选 该软件是专业分析日志的工具,但是不支持安…...

MySQL 面试题及答案

MySQL 面试题及答案: 一、基础问题 什么是数据库索引?有哪些类型? 答:数据库索引是一种数据结构,用于提高数据库查询的效率。它就像一本书的目录,可以快速定位到特定的数据行。 类型主要有: …...

vue仿chatGpt的AI聊天功能--大模型通义千问(阿里云)

vue仿chatGpt的AI聊天功能–大模型通义千问(阿里云) 通义千问是由阿里云自主研发的大语言模型,用于理解和分析用户输入的自然语言。 1. 创建API-KEY并配置环境变量 打开通义千问网站进行登录,登陆之后创建api-key,右…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...