【MySQL数据库】Ubuntu下的mysql 📅 发布时间:2026/7/4 10:26:11 👁️ 浏览次数: 目录1安装mysql数据库2mysql默认安装路径3my.cnf配置文件?4mysql运用的相关指令及说明5数据库、表的备份和恢复mysql是一套给我们提供数据存取的更加有利于管理数据的服务的网络程序。下面以Ubuntu系统为例来介绍mysql数据库。1安装mysql数据库sudo apt install mysql-server安装完数据库后首先这里会存在客户端mysql和服务端mysqld两个工具软件我们使用指令which mysql、which mysqld可查看到其路径一般我们都是使用客户端mysql进行数据库操作的服务端mysqld负责处理来自客户端的请求其次数据库安装后默认是没有启动的使用systemctl start mysql可开启mysql服务。2mysql默认安装路径在Ubuntu系统下使用apt install mysql安装的MySQL数据库的默认路径如下可执行文件MySQL服务器的可执行文件位于/usr/sbin/mysqld直接使用which即可查找到MySQL客户端位于/usr/bin/mysql。mysqld是MySQL服务器的主要执行文件通过它可以启动、停止和管理MySQL数据库。配置文件my.cnf是MYSQL的配置文件该配置文件包含了MySQL服务器的各种设置选项如端口号、日志路径、缓冲区大小等。可以通过编辑该配置文件来修改MySQL服务器的配置。MySQL服务器的配置文件通常位于/etc/mysql/mysql.conf.d/mysqld.cnf或/etc/mysql/my.cnf。数据目录MySQL服务器的数据目录位于/var/lib/mysql。在该目录下MySQL会存储所有的数据库文件和表数据。在默认的安装配置下每个数据库都会在该目录下创建一个独立的子目录。日志文件MySQL的日志文件通常位于/var/log/mysql。这些日志文件记录了MySQL服务器的运行状况、错误信息和其他相关日志。3my.cnf配置文件my.cnf是数据库MySQL的核心配置文件。它用于控制MySQL的运行行为和进行性能优化。以下是一些关键的段和配置项[client]这个部分配置影响所有MySQL客户端程序的行为如连接端口、字符集以及用于本地连接的socket套接字等。例如port 3306。指定MySQL客户端连接端口3306默认连接端口就是3306。socket /var/lib/mysql/mysql.sock。用于本地连接的socket套接字路径。default-character-set utf8mb4。设置客户端默认字符集一般情况下默认即可。[mysqld]这是MySQL服务器的主要配置段大部分与服务相关的设置都在这里包括数据存储路径、缓冲池大小、线程数、日志设置等。例如port 3306。指定MySQL服务器监听端口。它一般会修改为指定的端口。socket /var/lib/mysql/mysql.sock。MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件mysql.sock。一般直接设置为mysql.sock文件路径即可通常不用管理。datadir /var/lib/mysql。指定数据文件存放的目录。若不配置数据默认在**/var/lib/mysql**路径下。这个子目录用于存储MySQL数据库的数据文件修改到其它路径下可能会报错这里直接在此路径下即可character_set_server utf8mb4。设置服务端为utf8mb4的编码格式。默认编格式是utf8mb4一般情况下使用默认即可。default-storage-engine lnnoDB。设置存储引擎。默认的存储引擎是InnoDB。user mysql。指定MySQL启动用户。请注意修改my.cnf文件后通常需要重启MySQL服务以使新设置生效。在进行重大配置更改前建议备份原有的my.cnf文件并逐步测试更改的影响。4mysql运用的相关指令及说明1启动mysql服务、停止mysql服务、重新启动mysql运行的指令如下启动mysqlsystemctl start mysql停止mysqlsystemctl stop mysql重新启动mysqlsystemctl restart mysql2启动mysql数据库。在Ubuntu系统下使用mysql命令行工具时有多个常用选项可以帮助你启动MySQL数据库。以下是一些常用的mysql命令行选项-u全名–user指定连接MySQL服务器时使用的用户名。例如mysql -u root?以root身份启动mysql。-p全名–password提示输入密码或者如果后面紧跟密码则使用该密码不推荐在命令行中直接输入密码因为这样做不安全。例如mysql -u root -p-h全名–host指定要连接的MySQL服务器的主机名或IP地址。如果连接到本地服务器可以省略此选项。例如mysql -h localhost -u root-P全名–port指定要连接的MySQL服务器的端口号。默认端口是3306。例如mysql -P 3306?-u root3当你成功进入MYSQL后MySQL客户端会尝试与MySQL服务器建立连接。如果连接成功你就会看到一个MySQL提示符通常是mysql表示你现在已经登录到MySQL服务器可以开始执行SQL语句了。SQL语句这里要说明下这里输入的命令都是以分号;或g结尾表示指令结束开始进行服务处理。输入“ help ” 或 “ h ” 获取MYSQL基础命令帮助例如clear清除当前输入的指令quit退出mysql等。输入 “ c ” 清除当前输入语句。下面来说明下使用mysql的基础常用命令。1列出当前MySQL服务器实例上所有的数据库show databases;其中这个列表通常包括MySQL系统自带的数据库如mysql、information_schema、performance_schema等以及用户创建的任何数据库。2创建数据目录即创建数据库create database [可选选项1][库名称] [character set 字符集名] [collate 校验规则]; 例如create database data; 创建data数据库。[可选选项1]if not exists。表示若不存在即创建若存在什么也不做。例如create databaseif not exists data;[可选参数2][character set 字符集名]指定创建数据库时使用的字符集。字符集是编码集是一种 规则集编码集定义了字符与二进制数据之间的对应关系。这种对应关系确保了不同系 统之间的文本数据能够正确地交互和解析它直接影响到数据库中存储的文本数据的正 确性和可读性。字符集定义了存储数据字符的编码格式一般系统默认情况下使用 utf8mb3字符集。[collate 校验规则]校验规则也是编码集的一种常用方式它是在字符集内用于 比较字符的一套规则定义了字符之间的排序和比较方式本质上是读取数据时采用的 编码格式。默认情况下系统一般使用校验规则utf8_general_ci。注意构建数据库本质上就是在/var/lib/mysql目录下构建一个数据目录在该目录下可以看到。用户通过在客户端mysql下达指令服务端mysqld接收指令后会在存储数据目录下建立一个数据库即数据目录。3查看数据库使用的字符集show variables like ‘character_set_database’;展示数据库支持的字符集show charset;4查看数据库使用的校验规则show variables like ‘collation_database’;展示数据库支持的校验规则show collation;5删除数据库drop database [删除数据库的名称]; 例如drop database data;6修改数据库的字符集或校验规则alter data [数据库名称][character set 字符集名] [collate 校验规则];注意数据库的修改一般都是修改数据库使用的字符集和校验规则。7进入到创建的data数据库中use data;我们可以使用指令select database(); 查看当前在哪个数据库下8在data数据库下创建一个表create table [可选参数1][表名称]([定义表中的列][指定列的数据类型如int、varchar等] [可选参数暂时先不用管],…[可选参数暂时先不用管])[character set 字符集名] [collate 校验规则] [engine 存储引擎];[可选选项1]if not exists。与建库一样表示若不存在即创建若存在什么也不做。[character set 字符集名]与建库一样指定建表时使用的字符集。[collate 校验规则]与建库一样指定建表时使用的校验规则。[engine 存储引擎]指定建表时的存储引擎。后面会说明暂时可不用管。这里说明一下varchar类型。varchar 是一种在数据库中用于存储可变长度字符串的数据类型。与固定长度的 char类型不同varchar类型会根据实际存储的字符串长度来动态分配存储空间。具体来说varchar类型会指定一个最大长度在创建表时定义但实际存储时只会占用必要的空间。这意味着如果你有一个 varchar(255)类型的列并且存储了一个长度为 10 的字符串那么它只会占用 10 个字符加上长度信息的空间而不是固定的 255 个字符的空间。9向表中插入数据以上图为例选择性插入 insert into student (name, age, gender) values (‘张三’, 20, ‘男’); 或依次插入insert into student values (‘孩子’, ‘30’, ‘女’);10查询表中数据以上图为例select * from student;查询表student所有列的数据select age from student;查询表student中age列中的所有数据11查看表结构的详细信息desc [表名称];注意表结构的详细信息后面会介绍。12修改表名alter table [原表名] rename to [更改后表名]注意上面中rename to 中的 to 可省略。13修改表中的列名称alter table [表名] change [列名称] [更改后的列名称] [设置列新的属性];14新增加表的列alter table [表名] add [列名称] [列的数据类型] [可选结构…] … [after 列名称][after 列名称]表示新增加到具体哪个列名称的后面。注意新增表的列结构的参数 [列名称] [列的数据类型] [可选结构…] … 与插入一样。15修改表中某一列下的一个属性alter table [表名] modify [列名称] [修改后的属性]16删除表中的某一列alter table [表名] drop [列名称];17展示在当前数据库下的表show tables;18删除表drop table [表名称];19清屏system clear;最后这里说明一下SQL指令不区分大小写指令大写和小写都可以。5数据库、表的备份和恢复1数据库和表的备份指令备份单个或多个数据库mysqldump-u [用户名] -p [密码] -B [数据库名1][数据库名2] … [数据库备份存储的文件路径]示例1mysqldump -P 3306 -u root -p -B data ./data.sql示例2mysqldump -P 3306 -u root -p -B data data2 data3 ./data.sql备份一个或多个表mysqldump -u [用户名] -p [密码] [数据库名] [表1] [表2] … [表备份存储的文件路径]示例mysqldump -P 3306 -u root -p data student ./student.sql注意首先备份文件后缀是 .sql 上面示例中data.sql文件里的内容其实就是把整个数据库data的信息都装载了这个文件中其次数据库备份的操作都是在shell/bash指令行中运行的端口号若不说明一般默认配置文件中的端口号——3306。2数据库和表的还原指令source [备份数据库/表文件的路径]示例source /var/lib/mysql/data2/data.sql;注意还原操作是在mysql客户端的命令行上运行的。在数据库下建表本质就是在该目录下建立文件。所谓安装数据库服务器只是在机器上安装了一个数据库管理系统程序这个管理程序可以管理多个用户建立的数据库一般开发人员会针对每一个应用创建一个数据库而为保存应用中实体的数据一般会在数据库中创建多个表结构以保存程序中实体的数据。
架构之线程池独享与共享 架构之线程池独享与共享 概述 在分布式系统和高并发应用中,线程池的合理设计对系统稳定性和性能至关重要。线程池的独享与共享策略直接影响资源利用率和系统可靠性。本文将深入分析不同业务场景下的线程池设计原则,帮助开发者在"独享保稳定… 2026/5/17 10:24:47
错位无环流可逆调速系统仿真模型 错位无环流可逆调速系统仿真模型最近研究了错位无环流可逆调速系统仿真模型,感觉很有意思,来和大家分享一下😃。 系统概述 错位无环流可逆调速系统是一种在工业中应用广泛的调速系统。它通过巧妙的控制策略,实现了电机的可逆运行&… 2026/7/4 19:26:18
[vscode] vscode右键修复 我找了很久的问题,如何修改vscode右键菜单丢失的问题, 很多都是自己手动调节, 这样很费劲, 我不是很喜欢, 现在编写一个脚本来快速完成此问题, 从而避免手动操作带来的错误 下方为对应的代码 #!/usr/bin/env python3 """ Diagnose and repair VS Code context m… 2026/5/17 10:24:42
3步掌握FanControl:打造极致静音与高效散热的Windows风扇控制终极方案 3步掌握FanControl:打造极致静音与高效散热的Windows风扇控制终极方案 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/Git… 2026/7/5 4:15:13
【小白也能轻松玩转龙虾】虾壳云一键部署批量文件处理,提升日常办公操作效率(附最新安装包) OpenClaw(小龙虾)Windows 一键部署实操手册|十分钟搭建专属本地数字员工 适配平台:Windows 10/11(64 位)|零基础友好|全可视化界面|无编程门槛 当下热度较高的开源 AI 智… 2026/7/5 4:13:13
代码转图片再 OCR,Fable 成本暴降 60% 2026-07-04昨晚折腾到两点。不是因为加班,是在试一个思维方式完全不一样的玩法。GitHub 上有个新项目叫 PxPipe,思路很简单:把代码渲染成图片,然后让 AI 模型去 OCR 识别这些图片来理解代码。你看到这个第一反应是什么?… 2026/7/5 4:07:11
Snowflake原生数据管道实战:Stream+Task构建增量同步 1. 项目概述:为什么在Snowflake里搭数据管道,不是“选修课”而是“必修课”如果你刚接触Snowflake,大概率会先被它的“快”和“省事”吸引——不用管服务器、自动扩缩容、SQL直接查PB级数据。但很快就会发现,光会写SELECT是走不远… 2026/7/5 4:05:10
ProperTree:5大核心功能解析,打造你的跨平台GUI plist编辑器终极方案 ProperTree:5大核心功能解析,打造你的跨平台GUI plist编辑器终极方案 【免费下载链接】ProperTree Cross platform GUI plist editor written in python. 项目地址: https://gitcode.com/gh_mirrors/pr/ProperTree ProperTree plist编辑器作为一款… 2026/7/5 4:03:10
产品介绍丨光子精密自研一体化台式 3D 轮廓扫描仪 QML 系列是光子精密自研一体化台式 3D 轮廓扫描仪,分为QML8300 小型精密款与QML8500 大行程重载款两大机型,搭载自研 GL-8000 系列 3D 线激光相机,集成自主 PhoskeyVision 测量软件,一站式完成工件三维点云采集、轮廓截面提取、全… 2026/7/5 4:01:10
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/5 0:01:32
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/5 0:01:32
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/5 0:05:36
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/5 0:01:32
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/5 0:01:32
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/5 0:05:36