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**…...
事务所管理系统的设计
管理员账户功能包括:系统首页,个人中心,管理员管理,客户管理,评论管理,基础数据管理,公告信息管理 客户账户功能包括:系统首页,个人中心,律师管理࿰…...
airsim安装
继续进行,遇到下面的报错 Cannot find path HKEY_CLASSES_ROOT\Unreal.ProjectFile\shell\rungenproj 在Git地址的issue中,搜到下面的解决方法,根因是安装Unreal Engine之后未重启电脑,文件未关联导致,或者出现重定向…...
打造精致UI界面:字体设计的妙招
字体设计是UI设计的关键模块之一。字体设计是否有效可能直接实现或破坏整个UI界面。那么,界面设计的字体设计有哪些规范呢?如何设计细节字体?本文将解释字体设计规范的可读性、可读性和可用性,并介绍UI界面中的字体设计技巧。 如…...
[BJDCTF2020]ZJCTF,不过如此1
打开题目可以看到一段php文件包含,源码如下 <?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文字大模型领域,ChatGPT4.0无疑是最强大。然而,最近最火爆的大模型非国产Kimi莫属。 相较于其它大模型,Kimi 最大的优势在于,超长文本输入,支持200万汉字,是全球范围内罕见的超长文本处理工具&…...
“Redis中的持久化:深入理解RDB与AOF机制“
目录 # 概念 1. RDB持久化 1.1 备份是如何执行的(RDB过程) 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作为一种流行的服务器端编程语言,拥有众多框架,其中Symfony是备受开发者推崇的一个强大框架。本文将详细讲解Symfony框架的特点、优势及其主要组件和用法。 一、Symfony简介 Symfony是由Fabien Potencier于2005年创建的一个开源PHP框架。它基于MVC&…...
PR软件视频抠图换背景
1 新建项目 2 新建序列 在项目的右下角有个图标,新建 序列 序列是视频的制作尺寸,根据自己的需要选择 3 新建颜色遮罩 在项目的右下角--新建颜色遮罩--选择黑色--确定 4 导入视频 把要导入视频的文件夹打开,把视频拖到 项目 里 把黑色遮罩拖…...
下载依赖有问题(只有自己有问题)
有缓存! 删除node_modules 命令:npm run clean 前提是该项目支持这个命令:package.json > scripts 内有 clean 例如下面这个就没有clean,则直接手动删除 清除缓存 npm cache clean --force pnpm store prune删除lock文件 …...
vscode-关闭ts与js语义校验
1.ts与js语义校验 TypeScript(TS)和JavaScript(JS)在语义校验方面有很大的不同。TypeScript是一种静态类型检查的编程语言,它是JavaScript的一个超集,为JavaScript添加了类型系统和其他一些特性。而JavaScr…...
风控中的文本相似方法之余弦定理
一、余弦相似 一、 余弦相似概述 余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是-1。 从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。结…...
Spring Boot定时任务编程指南:如何创建和配置周期性任务
🍁 作者:知识浅谈,CSDN签约讲师,CSDN博客专家,华为云云享专家,阿里云专家博主 📌 擅长领域:全栈工程师、爬虫、ACM算法 🔥 微信: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的多媒体解决方案:ffmpy库一、背景:数字化时代的多媒体处理二、ffmpy:Python与ffmpeg的桥梁三、安装ffmpy:轻松几步四、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 证书 (使用宝塔) 1、在宝塔上面新建站点,把压缩包上传到根目录,解压出来,然后导入 sql 数据库文件,再 然后修改数据库配置 source\system\db_config.php 2、…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
前端中slice和splic的区别
1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...
