当前位置: 首页 > news >正文

MySQL数据库入门

1、MySQL概述

MySQL官方网站
https://www.mysql.com/downloads/

MySQL被Oracle公司收购了,作者又重新编写了一个开源的数据库管理系统,Mariadb
在这里插入图片描述
在这里插入图片描述
2、MySQL产品&版本
在这里插入图片描述

2、数据库在网站架构中的角色

LAMP
LNMP网站架构
在这里插入图片描述

3、安装MySQL-基于yum

查看MySQL信息

查询mysql相关的软件包信息
在这里插入图片描述
查询mysql-server的软件信息
在这里插入图片描述
2、安装mysql-server
[root@candy-nginx202 ~]# yum install mysql-server -y
在这里插入图片描述
3、查询mysql-server是否安装成功
[root@candy-nginx202 ~]# rpm -q mysql-server

在这里插入图片描述
[root@candy-nginx202 ~]# rpm --help |grep ‘-q’
在这里插入图片描述
检查防火墙是否关闭
sestatus
在这里插入图片描述
systemctl status firewalld
在这里插入图片描述
iptables -vnL
在这里插入图片描述
4、启动MySQL,查看进程数量

[root@candy-nginx202 ~]# systemctl start mysqld
[root@candy-nginx202 ~]# ps axu | grep mysqld
在这里插入图片描述
[root@candy-nginx202 ~]# ps -efL | grep mysqld
在这里插入图片描述
[root@candy-nginx202 ~]# ps -efL | grep -c mysqld
在这里插入图片描述

5、登录数据库系统

输入mysql指令即可登录MySQL数据库
在这里插入图片描述
6、查询mysql库的user表的user、host、authentication_string字段的数据库信息

[root@candy-nginx202 ~]# mysql
在这里插入图片描述
mysql> select user,host,authentication_string from mysql.user;
在这里插入图片描述
在这里插入图片描述

4、MySQL数据库常用指令

MySQL数据库常用命令涵盖了一系列操作,包括但不限于数据库的创建与管理、数据表的操作、数据的增删改查、用户权限管理以及服务器的维护等。以下是一些基础且常用的MySQL命令示例:
mysql -u 用户名 -p
输入命令后,系统会提示输入密码。、
在MySQL命令行界面输入:
quit 或 exit

2、显示所有数据库

SHOW DATABASES;
在这里插入图片描述

3、创建数据库

CREATE DATABASE 数据库名;
在这里插入图片描述

4、删除数据库

DROP DATABASE 数据库名;
在这里插入图片描述

5、使用指定数据库

USE 数据库名;
在这里插入图片描述

6、显示当前数据库中的所有表

SHOW TABLES;
在这里插入图片描述

7、创建表

CREATE TABLE 表名 (
列1 数据类型,
列2 数据类型,

列n 数据类型,
PRIMARY KEY (主键列名)
);
在这里插入图片描述

8、删除表

DROP TABLE 表名;
在这里插入图片描述

9、插入数据

INSERT INTO 表名 (列1, 列2, …, 列n)
VALUES (值1, 值2, …, 值n);
在这里插入图片描述

10、查询数据

SELECT 列1, 列2, …, 列n
FROM 表名
WHERE 条件;
筛选大于等于20岁的学生
在这里插入图片描述

11、更新数据

UPDATE 表名
SET 列1 = 新值1, 列2 = 新值2, …, 列n = 新值n
WHERE 条件;
将年龄22岁的学生修改名字和邮箱
在这里插入图片描述

12、删除数据

DELETE FROM 表名
WHERE 条件;
删除年龄为22岁的所有学生记录
在这里插入图片描述

13、创建索引

CREATE INDEX 索引名
ON 表名 (列名);
在这里插入图片描述
可以创建多个复合索引
在这里插入图片描述
您还可以为多个列创建复合索引,以便基于这些列的组合来加速查询
在这里插入图片描述

14、删除索引

DROP INDEX 索引名
ON 表名;
在这里插入图片描述
在这里插入图片描述
15、显示表结构
DESCRIBE 表名;
在这里插入图片描述
在这里插入图片描述
Field 列显示了列名。
Type 列显示了列的数据类型。
Null 列显示了该列是否允许NULL值。
Key 列显示了该列是否被索引(PRI表示主键,UNI表示唯一索引,MUL表示非唯一索引)。
Default 列显示了列的默认值(如果有的话)。
Extra 列提供了额外的信息,如 auto_increment 表示该列是自动递增的,CURRENT_TIMESTAMP 表示该列在插入新记录时会自动设置为当前时间戳。

16、显示存储过程

SHOW PROCEDURE STATUS;

17、创建存储过程

DELIMITER //
CREATE PROCEDURE 存储过程名()
BEGIN
– 存储过程体
END //
DELIMITER ;

DELIMITER 关键字被用来改变命令分隔符,以便在存储过程体内部可以包含多个分号(;),而不会被MySQL解释器错误地解释为命令的结束。

在这里插入图片描述

18、调用存储过程

CALL 存储过程名();
在这里插入图片描述

19、显示存储过程的定义

SHOW CREATE PROCEDURE 存储过程名;

20、删除存储过程

DROP PROCEDURE 存储过程名;
这些命令仅涵盖了MySQL数据库的基本操作。实际应用中,您可能还需要使用更高级的SQL语句和功能。建议查阅MySQL官方文档以获取更多详细信息和示例。

创建用户并授权

创建一个用户newuser,并授予所有权限:

 grant all privileges on *.* to 'newuser'@'%' identified by 'password';

试图为新用户newuser授予所有权限,并允许该用户从任何主机(% 表示所有主机)连接到MySQL服务器,同时设置密码为password。
在这里插入图片描述
授予所有用户权限:
在这里插入图片描述
修改用户密码
修改newuser的密码:

  alter user 'newuser'@'%' identified by 'newpassword';

修改用户 newuser(从任何主机 % 连接)的密码为 newpassword
在这里插入图片描述
回收权限
回收newuser的所有权限:

  revoke all privileges, grant option from 'newuser'@'%';

先撤销所有全局权限,然后删除用户,再重新创建用户(如果需要的话),因为直接撤销所有权限可能比较复杂。
在这里插入图片描述
my.cnf配置文件
[root@candy-nginx202 binlog]# cat /etc/my.cnf

[client]
# 设置客户端字符集
default-character-set=utf8mb4[mysql]
# 设置mysql客户端连接默认字符集
default-character-set=utf8mb4[mysqld]
# 设置服务器端字符集和校验规则
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci# 开启独立表空间
innodb_file_per_table=1# 开启二进制日志,并设置路径
server-id=1 # 必须设置,用于GTID和主从复制
log_bin=/var/lib/mysql/binlog/mysql-bin.log # 替换为实际的日志存放路径
binlog_format=ROW # 使用ROW格式,支持GTID# 开启GTID
gtid_mode=ON
enforce_gtid_consistency=true
# 如果是新部署的MySQL实例,可以不需要下面这行。如果是已有实例迁移到GTID,则需要执行全备恢复后加上
# init_sql='SET @@GLOBAL.GTID_PURGED="uuid:1-1";' # 替换uuid和序号为你自己的GTID# 可能还需要调整其他与GTID相关的设置,如auto_position等,具体根据实际情况和需求来定

5.4、查看数据目录大小
[root@candy-nginx202 ~]# cd /var/lib/mysql
[root@candy-nginx202 mysql]# du -sh /var/lib/mysql/candy
2.8G /var/lib/mysql/candy
[root@candy-nginx202 mysql]# du -sh /var/lib/mysql/binlog
4.3G /var/lib/mysql/binlog

5.5、查看服务器硬件配置
grep -c processor /proc/cpuinfo
在这里插入图片描述
free -g
在这里插入图片描述
fdisk -l | grep [sh]d
在这里插入图片描述
还应该使用其他命令,查看服务器的具体硬件信息,比如服务器型号,CPU核心,RAID配置,内存配置等。

相关文章:

MySQL数据库入门

1、MySQL概述 MySQL官方网站 https://www.mysql.com/downloads/ MySQL被Oracle公司收购了,作者又重新编写了一个开源的数据库管理系统,Mariadb 2、MySQL产品&版本 2、数据库在网站架构中的角色 LAMP LNMP网站架构 3、安装MySQL-基于yum 查…...

vue element-ui 下拉框 以及 input 限制输入,小数点后保留两位 界面设计案例 和 例子:支持mp4和m3u8视频播放

vue input 限制输入,小数点后保留两位 以及 图片垂直居中显示 和 分享 git 小技巧-CSDN博客文章浏览阅读430次,点赞5次,收藏4次。error:Your local changes to the following files would be overwritten by merge:_error: your local change…...

Python基础用法 之 运算符

1.算数运算符 符号作用说明举例加与“”相同 - 减与“-”相同*乘 与“ ”相同 9*218/除 与“ ”相同 9/24.5 、6/32.0//求商(整数部分) 两个数据做除法的 商 9//24%取余(余数部分) 是两个数据做除法的 余数 9%21**幂、次方2**…...

事务所管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,客户管理,评论管理,基础数据管理,公告信息管理 客户账户功能包括:系统首页,个人中心,律师管理&#xff0…...

airsim安装

继续进行,遇到下面的报错 Cannot find path HKEY_CLASSES_ROOT\Unreal.ProjectFile\shell\rungenproj 在Git地址的issue中,搜到下面的解决方法,根因是安装Unreal Engine之后未重启电脑,文件未关联导致,或者出现重定向…...

打造精致UI界面:字体设计的妙招

字体设计是UI设计的关键模块之一。字体设计是否有效可能直接实现或破坏整个UI界面。那么,界面设计的字体设计有哪些规范呢?如何设计细节字体?本文将解释字体设计规范的可读性、可读性和可用性,并介绍UI界面中的字体设计技巧。 如…...

[BJDCTF2020]ZJCTF,不过如此1

打开题目可以看到一段php文件包含&#xff0c;源码如下 <?phperror_reporting(0); $text $_GET["text"]; $file $_GET["file"]; if(isset($text)&&(file_get_contents($text,r)"I have a dream")){echo "<br><h1>…...

全网最全 Kimi 使用手册,看完 Kimi 效率提升 80%

在当前AI文字大模型领域&#xff0c;ChatGPT4.0无疑是最强大。然而&#xff0c;最近最火爆的大模型非国产Kimi莫属。 相较于其它大模型&#xff0c;Kimi 最大的优势在于&#xff0c;超长文本输入&#xff0c;支持200万汉字&#xff0c;是全球范围内罕见的超长文本处理工具&…...

“Redis中的持久化:深入理解RDB与AOF机制“

目录 # 概念 1. RDB持久化 1.1 备份是如何执行的&#xff08;RDB过程&#xff09; 1.2 配置文件信息 1.3 RDB持久化操作 1.4 RDB优势 1.5 RDB劣势 1.6 RDB做备份 2. AOF持久化 2.1 AOF开启及使用 2.2 异常恢复 2.3 配置文件操作 2.4 AOF持久化流程 2.5 优点 2.6…...

PHP框架详解:Symfony框架讲解

PHP作为一种流行的服务器端编程语言&#xff0c;拥有众多框架&#xff0c;其中Symfony是备受开发者推崇的一个强大框架。本文将详细讲解Symfony框架的特点、优势及其主要组件和用法。 一、Symfony简介 Symfony是由Fabien Potencier于2005年创建的一个开源PHP框架。它基于MVC&…...

PR软件视频抠图换背景

1 新建项目 2 新建序列 在项目的右下角有个图标&#xff0c;新建 序列 序列是视频的制作尺寸&#xff0c;根据自己的需要选择 3 新建颜色遮罩 在项目的右下角--新建颜色遮罩--选择黑色--确定 4 导入视频 把要导入视频的文件夹打开&#xff0c;把视频拖到 项目 里 把黑色遮罩拖…...

下载依赖有问题(只有自己有问题)

有缓存&#xff01; 删除node_modules 命令&#xff1a;npm run clean 前提是该项目支持这个命令&#xff1a;package.json > scripts 内有 clean 例如下面这个就没有clean&#xff0c;则直接手动删除 清除缓存 npm cache clean --force pnpm store prune删除lock文件 …...

vscode-关闭ts与js语义校验

1.ts与js语义校验 TypeScript&#xff08;TS&#xff09;和JavaScript&#xff08;JS&#xff09;在语义校验方面有很大的不同。TypeScript是一种静态类型检查的编程语言&#xff0c;它是JavaScript的一个超集&#xff0c;为JavaScript添加了类型系统和其他一些特性。而JavaScr…...

风控中的文本相似方法之余弦定理

一、余弦相似 一、 余弦相似概述 余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1&#xff0c;而其他任何角度的余弦值都不大于1&#xff1b;并且其最小值是-1。 从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。结…...

Spring Boot定时任务编程指南:如何创建和配置周期性任务

&#x1f341; 作者&#xff1a;知识浅谈&#xff0c;CSDN签约讲师&#xff0c;CSDN博客专家&#xff0c;华为云云享专家&#xff0c;阿里云专家博主 &#x1f4cc; 擅长领域&#xff1a;全栈工程师、爬虫、ACM算法 &#x1f525; 微信&#xff1a;zsqtcyw 联系我领取学习资料 …...

Java 获取客户端 IP 地址【工具类】

Java 获取客户端 IP 地址 import javax.servlet.http.HttpServletRequest; import java.net.InetAddress;/*** 网络工具类*/ public class NetUtils {/*** 获取客户端 IP 地址** param request 请求* return {link String}*/public static String getIpAddress(HttpServletReq…...

区块链中nonce是什么,什么作用

目录 区块链中nonce是什么,什么作用 区块链中nonce是什么,什么作用 Nonce在以太坊中是一个用于确保交易顺序性和唯一性的重要参数。以下是对Nonce的详细解释: 定义 Nonce是一个scalar值,它等于从该地址发送的交易数量,或在具有关联代码的账户的情况下,由该账户创建的合…...

探索Python的多媒体解决方案:ffmpy库

文章目录 探索Python的多媒体解决方案&#xff1a;ffmpy库一、背景&#xff1a;数字化时代的多媒体处理二、ffmpy&#xff1a;Python与ffmpeg的桥梁三、安装ffmpy&#xff1a;轻松几步四、ffmpy的五项基本功能1. 转换视频格式2. 调整视频质量3. 音频转换4. 视频截图5. 视频合并…...

dmhs同步因目的端表自增列报错解决方法

dmhs同步因目的端表自增列报错解决方法 1 dmhs copy 装载数据时报错 HY000 CODE:-27232 配置源端捕获器cpt 1 dmhs copy 装载数据时报错 HY000 CODE:-2723 ERR:Only if specified in the column list and SET IDENTITY INSERT is ON, then identity column could be assigned …...

封装分发安装教程

【安装环境】 Linux伪静态 PHP7.1mysql5.6 SSL 证书 &#xff08;使用宝塔&#xff09; 1、在宝塔上面新建站点&#xff0c;把压缩包上传到根目录&#xff0c;解压出来&#xff0c;然后导入 sql 数据库文件&#xff0c;再 然后修改数据库配置 source\system\db_config.php 2、…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

【Oracle】分区表

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

【安全篇】金刚不坏之身:整合 Spring Security + JWT 实现无状态认证与授权

摘要 本文是《Spring Boot 实战派》系列的第四篇。我们将直面所有 Web 应用都无法回避的核心问题&#xff1a;安全。文章将详细阐述认证&#xff08;Authentication) 与授权&#xff08;Authorization的核心概念&#xff0c;对比传统 Session-Cookie 与现代 JWT&#xff08;JS…...

macOS 终端智能代理检测

&#x1f9e0; 终端智能代理检测&#xff1a;自动判断是否需要设置代理访问 GitHub 在开发中&#xff0c;使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新&#xff0c;例如&#xff1a; fatal: unable to access https://github.com/ohmyzsh/oh…...

【向量库】Weaviate概述与架构解析

文章目录 一、什么是weaviate二、High-Level Architecture1. Core Components2. Storage Layer3. 组件交互流程 三、核心组件1. API Layer2. Schema Management3. Vector Indexing3.1. 查询原理3.2. 左侧&#xff1a;Search Process&#xff08;搜索流程&#xff09;3.3. 右侧&…...