滚雪球学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的一些典型应用场景:
- Web应用:MySQL是LAMP(Linux, Apache, MySQL, PHP/Perl/Python)架构的核心组件之一,被广泛用于构建动态网站和Web应用。
- 企业系统:MySQL在ERP、CRM等企业管理系统中扮演着重要角色,支持复杂的数据处理和分析。
- 数据仓库:虽然MySQL不是为数据仓库专门设计的,但通过优化和扩展,MySQL也可以用作中小型数据仓库,处理大量的历史数据分析任务。
- 内容管理系统(CMS):如WordPress、Drupal等流行的CMS都以MySQL作为其底层数据库。
1.2 安装与配置
为了在本地或服务器上使用MySQL,您需要进行MySQL的安装与配置。以下内容将涵盖在不同操作系统上安装MySQL的步骤、配置文件的解析,以及如何启动和停止MySQL服务。
安装MySQL(Windows、Linux、macOS)
-
Windows系统:
- 前往MySQL官方网站下载MySQL Installer。
- 运行安装程序,选择要安装的组件,包括MySQL Server、MySQL Workbench等。
- 按照安装向导的步骤进行配置,设置root密码和端口号(默认3306)。
- 完成安装后,通过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∑mp(Xxi)E(Y∣Xxi) 这个公式表示的是条件熵,它是衡量在已知某一特征 X X X 的情况下,…...

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

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,右…...

Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理
在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...
TJCTF 2025
还以为是天津的。这个比较容易,虽然绕了点弯,可还是把CP AK了,不过我会的别人也会,还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...