news 2026/5/25 5:09:36

MySQL安装与基础操作指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL安装与基础操作指南

本篇目标:

在Centos系统下安装MySQL

学会MySQL的一些基本操作

一.MySQL的安装

说明:安装中,用户切换成为超级用户root,初期练习,mysql不进行用户管理,全部使用root进行,尽快适应mysql语句,后⾯学了用户管理,再考虑新建普通用户

<1>.先获取 mysql 官方yum 源,网站http://repo.mysql.com/,到这个页面后,我们再单击右键,

点击查看源代码,即可查看页面上更详细的信息了。

注意:我们最好安装和自己系统⼀致的 mysql 版本,否则可能会存在软件兼容性问题。Index of /232905

<2>.查看自己的系统版本,用cat /etc/redhat-release即可,操作如图:

可以进⼊ http://repo.mysql.com/ , 找⼀下和自己版本⼀致的资源,下载好后无需解析压缩包,仅

需知道这个包的位置即可,然后我们在终端处输入rz,即可将windows系统下的资源上传到linux

系统,操作如图:

<3>.安装前,查看你本地的 yum 源,用ls /etc/yum.repos.d/ -al,操作如图:

<4>.安装中,用rpm -Uvh mysql57-community-release-el7-10.noarch.rpm即可,但是要注意安装

的是我们之前在官方下载的资源。

<5>.安装后,我们再ls /etc/yum.repos.d/ -a,就会发现有新的内容

<6>.在看看能不能正常⼯作,用yum list |grep mysql。

<7>.安装mysql服务,用yum install -y mysql-community-server,如果安装遇到秘钥过期的问

题,如图所示:

解决方案: rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

<8>.查看配置文件和数据存储位置,使用ls /etc/my.cnf和ls /var/lib/mysql,操作如图:

如果看到有内容的出现,就说明安装成功了。

<9>.启动服务,使用systemctl start mysqld.service即可。

<10>.登陆,打开 mysql 配置⽂件即vim /etc/my.cnf,然后在最后⼀栏配置 中加⼊ :skip-grant-

tables选项 , 并保存退出,如图:

然后重启 mysql 服务,用systemctl restart mysqld,让这个选项生效,然后再mysql -uroot -

p,连按两次enter即可登录成功,如图所示:

使用quit即可退出。

<11>.配置my.cnf,打开这个文件即vim /etc/my.cnf,

port=3306 character-set-server=utf8 default-storage-engine=innodb

二.数据库基础

1.什么是数据库?

首先要了解用文件就可以存储数据了,为什么还要弄个数据库?

原因:

<1>.查询速度:

  • 文件:如果我们想要在文件里面想找张三的信息,只能从上向下寻找这个人的信息,并且数据量达到百万级时,查一次可能要卡死好几秒。

  • 数据库:自带极其强大的目录系统,操作可以直接定位到张三信息的那一行,百万数据也是毫秒级查出。

<2>.安全性:

  • 文件:在文件里写数据时,如果写到一半,突然服务器停电,文件可能会直接乱码变砖。

  • 数据库:有 Redo Log 和 Undo Log。停电了没关系,重启后它知道哪些写完了一半,会自动把没写完的撤销,恢复到完好如初的状态(这叫原子性和持久性)。

<3>.存储数据:

  • 内存吃不消:如果日志文件有 50 个 G,普通程序的做法往往是读进内存去处理,但这直接就把服务器内存撑爆了。

  • 数据库:数据库底层有内存缓冲池和分页机制,它只把当前需要用到的那一小块数据(通常是 16KB 一页)调进内存,极其节省资源。

<4>.程序控制:

  • 文件:假设有10个人同时往同一个文本文件里写日志。文件系统为了防止内容错乱,会直接上一把“大锁”——也就是只要有一个人在写,其他9个人全得干等着(或者互相覆盖导致数据损坏)。

  • 数据库:有自己的机制。如果A改第一行,B改第二行,大家可以同时进行,互不干扰,极大提升了吞吐量。

概念:数据库就是一个用来集中存储、管理和快速查询海量数据的“超级电子文件柜”。

2.服务器,数据库,表关系

其实我们之前安装的所谓数据库服务器,其实就是在机器上安装了一个数据库管理系统程序,这个

管理程序可以管理多 个数据库,一般开发人员会针对每一个应用创建一个数据库。

为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。

数据库服务器、数据库和表的关系如下:

解释:mysql(Client)会把我们敲的 SQL 语句打包,发送给远端的mysqld服务端,然后

mysqld检查我们有没有在这个数据库里建表的权限;再逐字逐句分析我们语法正确与否,确认

检查括号有没有闭合、字段类型对不对;最后,操作系统会在底层的硬盘目录里(比如

/var/lib/mysql/my_project_db/),实实在在地创建一个名叫users.ibd的物理文件。以后这张

表里存的所有用户数据和索引,全都会塞进这个文件里。

MySQL架构,MySQL 是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如 Unix/Linux、Windows、 Mac 和 Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体 系结构的一致性,如图所示:

3.案例演示(先了解)

<1>.查看数据库

show databases;

如图:

<2>.创建数据库

create database helloworld;

然后我们在另一个终端下,进行一个操作,即cd /var/lib/mysql,此时我们可以看到一个关于

helloworld的目录,如图所示:

再进入这个目录里面,会看到这里面还会有其他的目录。

<3>.使用数据库

use helloworld;

<4>.创建数据库表

create table student( id int, name varchar(32), gender varchar(2) );

此在ll,就会出现新的内容,如图:

<5>.表中插入数据

insert into student (id, name, gender) values (1, '张三', '男'); insert into student (id, name, gender) values (2, '李四', '女'); insert into student (id, name, gender) values (3, '王五', '男');

<6>.查询表中的数据

select * from student;

如图:

结论:一个数据库(Database)相当于 一个 Linux 文件夹,一张数据表(Table) 相当于 文件夹里的物理文件,但是我们不可以划等号。

三.数据库基础操作

1.创建数据库

1.1.语法:

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]

说明:

大写的表示关键字

[] 是可选项

CHARACTER SET: 指定数据库采用的字符集

COLLATE: 指定数据库字符集的校验规则

例如:

说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,校验规则 是:utf8_ general_ ci。

1.2.操纵数据库操作

<1>.查看数据库

show databases;

<2>.显示创建数据库信息

show create database 数据库名;

如图:

注意:数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字 ;

/*!40100 default.... */这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话。

<3>.修改数据库

ALTER DATABASE db_name [alter_spacification [,alter_spacification]...] alter_spacification: [DEFAULT] CHARACTER SET charset_name [DEFAULT] COLLATE collation_name

注意:我们主要修改数据库的字符集,校验规则。

例如:我将d1数据库字符集改成gbk,如图所示:

<4>.数据库删除?

DROP DATABASE [IF EXISTS] db_ name;

注意:执行删除之后的结果,数据库内部看不到对应的数据库,并且对应的数据库文件夹被删除,级联删除,里面的数据表全部被删。

建议:不要随意删除数据库,应该要先备份。

<5>.备份和恢复

mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

如图:

此时,打开mytest.sql,如图:

其实把我们整个创建数据库,建表,导入数据的语句都装载这个文件中了。

还原:,还原时,要记得备份文件的具体位

置。

<6>.查看连接情况

show processlist;

如图:

可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有

可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况

2.字符集和校验规则

2.1.查看系统默认字符集以及校验规则

操作:

show variables like 'character_set_database'; show variables like 'collation_database';

如图:

这是因为之前再my.cnf中默认配置过了。

2.2.什么是字符集?

计算机底层只认识 0 和 1。字符集就像是一本翻译书,规定了英文字母、汉字、Emoji 表情应该被翻译咋样的二进制数字存进硬盘。

2.3.什么是校验规则?

数据库怎么判断两个字符串是否相等?谁排在前面?这就是校验规则说了算。

四.表的操作
1.创建表

语法:

CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎;

说明:

field 表示列名;datatype 表示列的类型;character set 字符集,如果没有指定字符集,则以所在数据库的默认字符集为准; collate 校验规则,如果没有指定校验规则,则以所在数据库的默认校验规则为准。

代码如图:

create table users ( id int, name varchar(20) comment '用户名', password char(32) comment '密码是32位的md5值', birthday date comment '生日' ) character set utf8 engine MyISAM;

注意:不同的存储引擎,创建表的文件不一样。 users表存储引擎是MyISAM,在数据目中有三个不同的文件,分别是:users.frm:表结构 ,users.MYD:表数据, users.MYI:表索引

如图:

2.查看表结构
desc 表名;

如图:

3.修改表
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...);

例如,在users表添加二条记录,

insert into users values(1,'a','b','1982-01-04'),(2,'b','c','1984-01 04');

在users表添加一个字段,用于保存图片路径,

alter table users add assets varchar(100) comment '图片路径' after birthday;

修改name,将其长度改成60,

alter table users modify name varchar(60);

删除password列,

alter table users drop password;

修改表名为employee,

alter table users rename to employee;

将name列修改为xingming,

alter table employee change name xingming varchar(60);

注意:新字段需要完整定义。

4.删除表
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name];

例如:

drop table t1;

本篇教程主要讲解了三件事:

  • 环境搭建:如何在 Centos 下通过 yum 源安装 MySQL,并修改配置文件实现临时免密登录和基础设置。

  • 核心概念:解释了数据库相比普通物理文件在查询速度、安全性和高并发上的绝对优势,以及“库包含表”的层级关系。

  • 基础操作:汇总了最核心的 SQL 指令,迅速实现对数据库(库)和数据表(表)的创建、查看、修改、删除与备份还原。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 5:05:23

分子动力学基准测试框架:加权集成采样与TICA评估ML模型性能

1. 项目概述与核心挑战在计算生物物理和药物发现领域&#xff0c;分子动力学模拟是我们理解蛋白质、核酸等生物大分子如何“动起来”的核心工具。简单来说&#xff0c;它就像一台超级计算机上的“分子摄像机”&#xff0c;通过求解物理定律&#xff0c;逐帧记录原子在势能面上的…

作者头像 李华
网站建设 2026/5/25 5:05:01

【配色系列】粉色系 | 9类 x 2组 x 5色 | 色值 + 文字笔记示例

目录 粉色系列 &#x1f31f; 1 郁金香 &#x1f31f; 2 一公升眼泪 &#x1f31f; 3 多彩的流放 &#x1f31f; 4 童年 &#x1f31f; 5 假如地球是个甜甜圈 &#x1f31f; 6 午后 &#x1f31f; 7 火烈鸟的家 &#x1f31f; 8 缤纷的生命 &#x1f31f; 9 幸福就在转角处粉色…

作者头像 李华
网站建设 2026/5/25 5:04:40

后端开发与DevOps的融合:持续集成与部署实战

在当今快速迭代的软件开发环境中&#xff0c;后端开发与DevOps的融合已成为提升开发效率、保障软件质量的关键路径。持续集成&#xff08;CI&#xff09;与持续部署&#xff08;CD&#xff09;作为DevOps的核心实践&#xff0c;通过自动化流程将代码变更快速、安全地交付到生产…

作者头像 李华
网站建设 2026/5/25 5:03:28

CryENGINE三层架构实战:C++/C#/Lua协同开发与安全绑定

1. 这不是“又一篇CryENGINE教程”&#xff0c;而是三年实战后撕开的底层真相很多人点开这类标题&#xff0c;第一反应是&#xff1a;“CryENGINE&#xff1f;那个被UE和Unity挤出主流视野的老引擎&#xff1f;”——这恰恰是我2021年接手某军事仿真项目时的真实想法。客户坚持…

作者头像 李华
网站建设 2026/5/25 4:41:30

Word2016受保护视图报错原因与安全放行指南

1. 受保护视图不是Bug&#xff0c;是Word2016主动设下的“安检门”你双击一个从邮箱下载的Word文档&#xff0c;或者打开U盘里别人发来的.docx文件&#xff0c;屏幕中央突然弹出灰底白字的横幅&#xff1a;“受保护视图&#xff1a;此文件来自Internet&#xff0c;可能不安全。…

作者头像 李华