当前位置: 首页 > 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,右…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage)&#xff1a…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

centos 7 部署awstats 网站访问检测

一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

Android15默认授权浮窗权限

我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...