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

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子&#xff08…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

ES6从入门到精通:前言

ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域&#xff1a;无处不在的数字助手 2、 计算机的进化史&#xff1a;从算盘到量子计算 3、计算机的分类&#xff1a;不止 “台式机和笔记本” 4、计算机的组件&#xff1a;硬件与软件的协同 4.1 硬件&#xff1a;五大核心部件 4.2 软件&#…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...

Qt 事件处理中 return 的深入解析

Qt 事件处理中 return 的深入解析 在 Qt 事件处理中&#xff0c;return 语句的使用是另一个关键概念&#xff0c;它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别&#xff1a;不同层级的事件处理 方…...