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

「MySQL-02」数据库的操纵、备份、还原和编码规则

目录

一、库操作

1. 创建数据库

2. 查看所有数据库

3. 删除数据库

4. 修改数据库

5. 进入一个数据库

二、查看和设置数据库的编码规则

1. MySQL的两个编码规则:字符集和校验规则

2. 查看MySQL当前使用的字符集以及校验规则

3. 查看MySQL支持的所有字符集

4. 查看MySQL支持的所有校验规则

5. 设置字符集和校验规则

三、数据库的备份和还原

1.数据库的备份和还

2.数据库的还原

四、查看库的连接情况


一、库操作

1. 创建数据库

语法:CREATE DATABASE [IF NOT EXISTS] `数据库名` [charset=要设置的字符集] [collate 要设置的校验规则];
示例:create databse if not exists test charset=utf8;
说明:1.MySQL对大小写不敏感,所以关键字可大写也可小写,MySQL的存储引擎优化后都能识别。2.[] 是可选项3.IF NOT EXISTS:如果不存在就创建。4.数据库名的反引号可加可不加,一般是数据库名称和MySQL中的关键字冲突时加。5.charset: 指定数据库采用的字符集6.collate: 指定数据库字符集的校验规则7.创建数据库的本质就是在 /var/lib/mysql路径下创建目录

2. 查看所有数据库

show databases;
--查看当前用户有权限访问的所有数据库
--本质上就是查看 /var/lib/mysql路径下的目录

3. 删除数据库

语法:DROP DATABASE [IF EXISTS] 数据库名称;
示例:drop database if exists test1;
说明:IF EXISTS:如果存在就删除本质上就是删除 /var/lib/mysql路径下的指定目录,级联删除,里面的数据表全部被删

4. 修改数据库

语法:ALTER DATABASE 数据库名称 [charset 要设置的字符集] [collate 要设置的校验规则];
示例:alter database test charset=utf8;
说明:该sql语句主要就是用来修改数据库的字符集和校验规则,无法修改数据库的名字修改字符集校验规则也会跟着修改但要校验规则如果和当前字符集不匹配将无法修改

5. 进入一个数据库

use 数据库名;
-- 本质上是进入数据库对应的目录

二、查看和设置数据库的编码规则

1. MySQL的两个编码规则:字符集和校验规则

  • 字符集     :规定MySQL以什么编码方式接收、保存用户数据和给发送用户发送数据。
  • 校验规则 :在设立好的字符集的基础上,规定MySQL以什么方式来识别用户发来的SQL语句和比对用户发来的数据跟数据库中的数据,如是否要大小写敏感、是否bin(二元)结束

        MySQl中字符集和校对规则是一对多的关系,虽然字符集都有一个默认的校对规则,但我们可以自主设置字符集和校验规则,只要两者能匹配就不会出现乱码问题。要注意的是只设置字符集时,MySQL会自动将校对规则设置为字符集中对应的默认校对规则。

2. 查看MySQL当前使用的字符集以及校验规则

  • 查看MySQL中数据库使用的字符集以及校验规则:
    show variables like 'character_set_database';
    show variables like 'collation_database';
  • 查看MySQL中数据库服务端使用的字符集以及校验规则:
    show variables like 'character_set_server';
    show variables like 'collation_server';
  • 查看MySQL中各部分使用的字符集以及校验规则:
    show variables like 'character_set_%';
    show variables like 'collation_%';
  • 通过数据库目录下的db.opt文件查看指定数据库使用的字符集以及校验规则
    cat 数据库名称/db.opt

3. 查看MySQL支持的所有字符集

  • SQL语句:
        show charset;
  • 示例: 

        

  • 说明:
        图中第三列即为字符集能匹配上的校验规则。

4. 查看MySQL支持的所有校验规则

  • SQL语句:
        show collation;
  • 示例:
        
  • 说明:
        图中第二列即为校验规则能匹配上的字符集。

5. 设置字符集和校验规则

4.4.1 通过配置my.cnf文件设置MySQL的默认字符集和默认校验规则

示例:

        使用vim打开MySQL配置文件 :  vim /etc/my.cnf

        然后在最后一行前面加上:character-set-server=utf8

        最后重启MySQL客户端 : systemctl restart mysqld 

说明:

        character-set-server=utf8 是在设置MySQL的服务端的默认字符集为utf-8。


4.4.2 创建数据库时指明该数据库使用的字符集和校验规则

SQL语句:

        create database 数据库名 charset 要设置的字符集 collate 要设置的校验规则

示例:

        create database test charset utf8 collate utf8_bin;

说明:

        设置好了字符集,校验规则也会跟着改变为默认匹配的。反之亦然。

        如果创建数据库时不指明该数据库使用的字符集和校验规则,就使用MySQL的默认字符集和默认校验规则。

        设置数据库的字符集,校验规则本质上就是在修改数据库目录下的db.opt文件。


三、数据库的备份和还原

1.数据库的备份和还

语法(在Linux环境下):mysqldump -P端口号 -uMySQL用户名 -p用户密码 -B数据库名 > 存储数据库备份信息的文件的路径
示例:mysqldump -P3306 -uroot -p123456 -Btest > ./db.sql
说明:该语句的主要作用就是将数据库的主要信息和历史操作信息保存到了指定文件中mysqldump和mysql服务端,客户端一样也是由MySQL提供给用户的工具,用来备份数据库。如果备份时,没有-B参数,在恢复数据库时,需要先创建空数据库,然后进入数据库,再使用source来还原如果备份的不是整个数据库,而是其中的一张表,怎么做?mysqldump -u root -p 数据库名 表名1 表名2 > 存储数据库备份信息的文件的路径同时备份多个数据库mysqldump -u root -p -B 数据库名1 数据库名2 ... > 存储数据库备份信息的文件的路径

2.数据库的还原

方法:先登录mysql,再输入以下sql语句:source 保存数据库备份信息的文件路径;
示例source root/mysql/db.sql
说明:这里保存数据库备份信息的文件路径为绝对路径。

四、查看库的连接情况

语法:show processlist说明:用该sql语句我们可以知道当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。

------------------------END-------------------------

才疏学浅,谬误难免,欢迎各位批评指正。

相关文章:

「MySQL-02」数据库的操纵、备份、还原和编码规则

目录 一、库操作 1. 创建数据库 2. 查看所有数据库 3. 删除数据库 4. 修改数据库 5. 进入一个数据库 二、查看和设置数据库的编码规则 1. MySQL的两个编码规则:字符集和校验规则 2. 查看MySQL当前使用的字符集以及校验规则 3. 查看MySQL支持的所有字符集 4. 查看MyS…...

Effective C++条款24——若所有参数皆需类型转换,请为此采用non-member涵数(设计与声明)

我在导读中提过,令classes支持隐式类型转换通常是个糟糕的主意。当然这条规则有其例外,最常见的例外是在建立数值类型时。假设你设计一个class用来表现有理数,允许整数“隐式转换”为有理数似乎颇为合理。的确,它并不比C内置从int…...

决策工具箱:战略分析必备工具与框架

跟随时代的步伐,企业战略也在不断演化。无论是初创企业还是知名企业,都需要有效的战略工具来指导其业务发展。探索这些必备工具,并学习如何最大限度地利用它们,是企业的一个学习目标。 战略分析工具和框架有很多,其中…...

【压力测试指南】没有任何文档,小白也可以做的压力测试

前言 一般在执行压力测试之前,会由开发提供出接口文档,包含一些接口的详细参数,便于测试工程师编写测试脚本。但在某些情况下,接口等相关文档缺失,那作为Tester,我们该如何顺利的实施压力测试呢&#xff1…...

Linux: memory: memblock: debug

文章目录 代码memblock=debug实例log代码 将内存相关的一些日志打开: static int __init early_memblock(char *p) {if (p && strstr(p, "debug")...

搬家快递服务小程序的便利性

在当今快节奏的生活中,搬家可能是很多人都需要面对的问题。无论是新房子还是新办公室,都需要高效、便捷的搬家服务。本文将介绍如何使用第三方小程序制作平台,如乔拓云平台,开发一款高效便捷的搬家服务小程序。 1. 注册登录第三方…...

软件架构师 Debugging

软件架构师 Debugging 目录概述需求: 设计思路实现思路分析 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survi…...

​7.1 项目1 学生通讯录管理:文本文件增删改查(C++版本)(自顶向下设计+断点调试) (A)​

C自学精简教程 目录(必读) 作业目标: 这个作业中,你需要综合运用之前文章中的知识,来解决一个相对完整的应用程序。 作业描述: 1 在这个作业中你需要在文本文件中存储学生通讯录的信息,并在程序启动的时候加载这些…...

学习使用php判断阿里云oss图片单图或批量上传、查询图片文件是否存在

学习使用php判断阿里云oss图片单图或批量上传、查询图片文件是否存在 doesObjectExist doesObjectExist 主要函数doesObjectExist /*** Base64上传文件* param string|array $images* param string $model_path* param string $model_type* param string $upload_path* param…...

重磅| Falcon 180B 正式在 Hugging Face Hub 上发布!

引言 我们很高兴地宣布由 Technology Innovation Institute (TII) 训练的开源大模型 Falcon 180B 登陆 Hugging Face! Falcon 180B 为开源大模型树立了全新的标杆。作为当前最大的开源大模型,有180B 参数并且是在在 3.5 万亿 token 的 TII RefinedWeb 数…...

Linux命令行

目录 CLI GUI 命令行界面 图形界面 命令行提示符 # $ ​编辑 命令一般由三个部分组成 历史命令,使用上下键,或者使用history,ctrlr搜索历史命令 通配符 *,? 切换用户 su 作业管理 &,jobs,bg,fg CLI GUI 命令行界面 …...

[持续更新]计算机经典面试题基础篇Day1

[通用]计算机经典面试题基础篇Day1 1、jvm的组成 类加载器(Class Loader):负责将编译后的Java类加载到JVM中,并在运行时动态加载所需的类。运行时数据区(Runtime Data Area):是JVM的内存管理区…...

ProcessWindowFunction 结合自定义触发器的陷阱

背景: flink中常见的需求如下:统计某个页面一天内的点击率,每10秒输出一次,我们如果采用ProcessWindowFunction 结合自定义触发器如何实现呢?如果这样实现问题是什么呢? ProcessWindowFunction 结合自定义触发器实现…...

什么是jvm

一、初识JVM(虚拟机) JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Jav…...

kettle通过java步骤获取汉字首拼

kettle通过java步骤获取汉字首拼 用途描述 一组数据,需要获取汉字首拼后,输出; 实现效果 添加jar包 pinyin4j-2.5.0.jar 自定义常量数据 Java代码 完整代码: import net.sourceforge.pinyin4j.PinyinHelper; import net.sou…...

Conformer: Local Features Coupling Global Representationsfor Visual Recognition

论文链接:https://arxiv.org/abs/2105.03889 代码链接:https://github.com/pengzhiliang/Conformer 参考博文:Conformer论文以及代码解析(上)_conformer代码_从现在开始壹并超的博客-CSDN博客 摘要 在卷积神经网络…...

java8-Stream流常用API

什么是 Stream Stream(流)是 Java 8 引入的一个新的抽象概念,它代表着一种处理数据的序列。简单来说,Stream 是一系列元素的集合,这些元素可以是集合、数组、I/O 资源或者其他数据源。 Stream API 提供了丰富的操作方…...

React 任务调度

React 任务池 不同的fiber任务有不同的优先级,为了用户体验,React需要先处理优先级高的任务。 为了存储这些任务,React中有两个任务池: // Tasks are stored on a min heap var taskQueue []; // 存储立即要执行的任务 var tim…...

小白开始学习C++

​​​​第一节&#xff1a;控制台输出hello word&#xff01; #include<iostream> //引入库文件 int main() { //控制台输出 hello word! 之后回车 std::cout << "hello word!\n"; #include<iostream> //引入库文件int main() {//控制…...

SpringMVC入门的注解、参数传递、返回值和页面跳转---超详细教学

前言&#xff1a; 欢迎阅读Spring MVC入门必读&#xff01;在这篇文章中&#xff0c;我们将探索这个令人兴奋的框架&#xff0c;它为您提供了一种高效、灵活且易于维护的方式来构建Web应用程序。通过使用Spring MVC&#xff0c;您将享受到以下好处&#xff1a;简洁的代码、强大…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见&#xff0c;必须要保持数据不可变&#xff0c;管理员都无法修改和留痕的要求。比如医疗的电子病历中&#xff0c;影像检查检验结果不可篡改行的&#xff0c;药品追溯过程中数据只可插入无法删除的特性需求&#xff1b;登录日志、修改日志…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...

深入解析光敏传感技术:嵌入式仿真平台如何重塑电子工程教学

一、光敏传感技术的物理本质与系统级实现挑战 光敏电阻作为经典的光电传感器件&#xff0c;其工作原理根植于半导体材料的光电导效应。当入射光子能量超过材料带隙宽度时&#xff0c;价带电子受激发跃迁至导带&#xff0c;形成电子-空穴对&#xff0c;导致材料电导率显著提升。…...

Springboot 高校报修与互助平台小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;高校报修与互助平台小程序被用户普遍使用&#xff0c;为…...

Linux 内存管理调试分析:ftrace、perf、crash 的系统化使用

Linux 内存管理调试分析&#xff1a;ftrace、perf、crash 的系统化使用 Linux 内核内存管理是构成整个内核性能和系统稳定性的基础&#xff0c;但这一子系统结构复杂&#xff0c;常常有设置失败、性能展示不良、OOM 杀进程等问题。要分析这些问题&#xff0c;需要一套工具化、…...

第2课 SiC MOSFET与 Si IGBT 静态特性对比

2.1 输出特性对比 2.2 转移特性对比 2.1 输出特性对比 器件的输出特性描述了当温度和栅源电压(栅射电压)为某一具体数值时,漏极电流(集电极电流...