【MySQL 02】库的增删查改及备份还原

server/2024/9/23 7:07:50/

目录

1.数据库的创建

创建数据库

查看数据库列表

查看当前正在使用哪个数据库

使用指定的数据库

2.数据库的删除 

3.字符集和校验规则

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

改变数据库的字符集和校对规则

查看数据库支持的字符集和校验规则

4.修改数据库 

查看创建数据库时使用的命令:

5.数据库的备份和恢复 

6.查看连接情况 


1.数据库的创建

 在ubuntu环境下查看配置文件:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

        其中有一行:datadir = /var/lib/mysql 表示MySQL的数据库文件被存储在 /var/lib/mysql 这个目录下。

        以下工作由mysql客服端让mysqld服务端做的。

创建数据库

if not exists 作为可选项:表示该数据库不存在就创建,如果存在则不执行创建。

create database [if not exists] 数据库名;

查看数据库列表

show databases;

这就可以看到我们刚刚创建的数据库了。

在该路径下也确实新增了 hellosql数据库的目录。

所以建立数据库,本质就是建立Linux下的一个目录。

查看当前正在使用哪个数据库

select database();

使用指定的数据库

use 数据库名;

就是用刚才的数据库

2.数据库的删除 

 if exists 表示存在就删除,不存在则不执行删除。

drop database [if exists] 数据库名;

test数据库被删除,本质就是删除了,/var/lib/mysql路径下的test目录

3.字符集和校验规则

        选择合适的字符集可以确保数据库能够支持所需的字符范围,而选择合适的校验规则则决定了数据库中字符数据的排序和比较方式。

创建数据库时,有两个编码集:

        数据库无论对数据做任何操作,都必须保证操作和编码必须是编码一致

  • 数据库编码集:确保数据库中存储的字符能够正确地被存储和读取,防止乱码现象的发生。
  • 数据库校验集:支持数据库,进行字段比较使用的编码,本质也是读取数据库中数据所采用的编码格式。

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

字符集:

show variables like 'character_set_database';

校验规则:

show variables like 'collation_database';


改变数据库的字符集和校对规则

创建一个数据库,校验规则使用utf8_ general_ ci[不区分大小写]

create database test1 collate utf8_general_ci;

校验规则是不区分大小写,那么进行查找时,根据的条件也是不区分大小写的

创建一个数据库,校验规则使用utf8_ bin[区分大小写]

create database test2 collate utf8_bin;
                            创建一个数据库,字符集utf8, 校验规则使用utf8_ general_ ci[不区分大小写]
create database test3 charset=utf8 collate utf8_general_ci;

查看数据库支持的字符集和校验规则

字符集:向表插入时规则

show charset;

校验规则:指的是字符集所对应的校验规则(查找时规则)

show collation;

4.修改数据库 

修改数据库字符集和校验规则:

alter database 数据库名 charset=指定字符集 collate 指定校验规则;

查看创建数据库时使用的命令:

show create database 数据库名;

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

5.数据库的备份和恢复 

备份:

        将指定数据库备份到指定的路径下,该操作不仅备份数据,而且将该数据库下进行的所有的有效操作都进行了备份

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

恢复:

        现在我们将test 数据库删除掉。

        将恢复出来的数据库,重新执行一遍它的历史操作

mysql> source 备份文件所在路径;

注意:

        如果备份的不是整个数据库,而是其中的一张表,怎么做?

 mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql

        同时备份多个数据库

 mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

        如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原

6.查看连接情况 

show processlist

        可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。


http://www.ppmy.cn/server/120683.html

相关文章

NLP 文本匹配任务核心梳理

定义 本质上是做了意图的识别 判断两个内容的含义(包括相似、矛盾、支持度等)侠义 给定一组文本,判断语义是否相似Yi 分值形式给出相似度 广义 给定一组文本,计算某种自定义的关联度Text Entailment 判断文本是否能支持或反驳这个…

展锐平台的手机camera 系统开发过程

展锐公司有自己的isp 图像处理引擎,从2012 年底就开始在智能手机上部署应用。最初的时候就几个人做一款isp的从hal 到kernel 驱动的完整软件系统,分工不是很明确,基本是谁擅长哪些就搞哪些,除了架构和编码实现之外,另外…

【devops】devops-gitlab之部署与日常使用

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…

web基础—dvwa靶场(八)SQL Injection(Blind)

SQL Injection(Blind)(SQL注入之盲注) SQL Injection(Blind),SQL盲注,相比于常规的SQL注入,他不会将返回具体的数据信息或语法信息,只会将服务器包装后的信息返回到页面中。 常规SQL注入与SQL盲注详细对比…

FreeRTOS保姆级教程(以STM32为例)—任务创建和任务控制API说明

目录 一、任务创建: (1)TaskHandle_t 任务句柄 (2) xTaskCreate: 函数原型: 参数说明: 返回值: 示例: 注意事项: 用法示例&#xff1a…

HarmonyOS开发者基础认证考试试题

文章目录 一、判断题二、单选题三、多选题 因考试只有91分,所以下方答案有部分错误,如果有发现错误,欢迎提出 一、判断题 1. HarmonyOS提供了基础的应用加固安全能力,包括混淆、加密和代码签名能力 正确 2. 用户首选项是关系型数…

正点原子阿尔法ARM开发板-IMX6ULL(七)——BSP工程管理实验(补:链接文件和.s文件)

文章目录 一、关于链接脚本文件二、start.s三、工程管理3.1 bsp3.2 im6ull3.3 obj3.4 project 四、makefile 一、关于链接脚本文件 imx6ul.lds SECTIONS{. 0X87800000;.text :{start.o main.o *(.text)}.rodata ALIGN(4) : {*(.rodata*)} .data ALIGN(4) : { *(.data) }…

Python爬虫之urllib模块详解

Python爬虫入门 此专栏为Python爬虫入门到进阶学习。 话不多说,直接开始吧。 urllib模块 Python中自带的一个基于爬虫的模块,其实这个模块都几乎没什么人用了,我就随便写写了。 - 作用:可以使用代码模拟浏览器发起请求。&…