mysql
2023-02-19
48
一、为何要用雪花算法
1、问题产生的背景
现如今越来越多的公司都在用分布式、微服务,那么对应的就会针对不同的服务进行数据库拆分,然后当数据量上来的时候也会进行分表,那么随之而来的就是分表以后id的问题。
例如之前单体项目中一个表中的数据主键id都是自增的,mysql是利用autoincrement来实现自增,而oracle是利用序列来实现的,但是当单表数据量上来以后就要进行水平分表,阿里java开发建议是单表大于500w的时候就要分表,但是具体还是得看业务,如果索引用的号的话,单表千万的数据也是可以的。水
2023-02-19
84
目录1、前言
2、直接恢复
2.1 mysqldump 备份全量恢复
2.2 xtrabackup 备份全量恢复
2.3 基于时间点恢复
3、恢复一个表
3.1 从 mysqldump 备份恢复一个表
3.2 从 xtrabackup 备份恢复一个表
4、跳过误操作SQL
4.1 使用备份文件恢复跳过
4.2 使用延迟库跳过
5. 闪回。
5.1 binlog2sql
5.2 MyFlash
1、前言数据恢复的前提的做好备份,且开启 binlog,格式为 row。如果没有备份文件,那么删掉库表后就真的删掉
2023-02-19
68
本文针对MySQL数据库基本操作进行学习研究,需要了解的朋友不要错过这篇文章。
以下均是在Windows 64位操作系统下的命令行使用。
学习之前我们先来解释一下MySQL语法格式中的一些符号代表的含义:
(1)中括号([])表示存在或者不存在都可以,是可选参数。比如:SHOW {DATABASES | SCHEMAS} [LIKE
'pattern' | WHERE expr];此语法格式中的[]括起来的内容是可以不加的。
(2)大括号({})表示命令中必须出现,是必选参数。 比如:
2023-02-19
58
什么是存储过程
简单的说,就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法;
ps:存储过程跟触发器有点类似,都是一组SQL集,但是存储过程是主动调用的,且功能比触发器更加强大,触发器是某件事触发后自动调用;
有哪些特性
有输入输出参数,可以声明变量,有if/else, case,while等控制语句,通过编写存储过程,可以实现复杂的逻辑功能;
函数的普遍特性:模块化,封装,代码复用;
速度快,只有首次执行需经过编译和优化步骤,后续被调用可以直接执行,省去以上步骤
2023-02-19
61
目录为什么需要分区?
分区的策略
分区隐患
为什么需要分区?当面对巨大的数据表的时候,至少有一件事情是确定的,表太大了以至于每次查询的时候我们没法做全表扫描。而这个时候也没法使用索引,或者说索引意义不大,更不用说索引的维护代价和空间占用非常高。如果是依赖索引,会导致大量的碎片和低聚集度的数据,这会导致查询的时候有上千次的随机 I/O 访问而导致宕机。这种情况下一般只会使用1-2个索引,而不会更多。这种情况下,有两个可行的选项:查询必须从数据表的指定的部分顺序查找或者是期望的部分数据及其索引与服务器的内存匹
2023-02-19
47
有2个方法 一、可以修改my.ini 配置参数(linux下面是 my.cnf); [quote][client] port=3306 default-character-set=utf8 host=localhost user=root password=1[/quote] 具体的其他参数都可以在这里修改 二、可以修改环境变量 MYSQL_HOST 代表主机名 USER 为用户名 MYSQL_PWD 为密码 更多的参数请自行查看mysql的帮助文档,下面是英文的表格 Variable
Descript
2023-02-19
34
学习内容
1.软件安装及服务器设置。
2.(选做,但是强烈建议) 使用图形界面软件 Navicat for SQL
3.数据库基础知识数据库定义关系型数据库二维表行列主键外键4.MySQL数据库管理系统数据库数据表视图存储过程软件安装
MySQL下载链接:MySQL
下载第一个,之后解压缩。
我的目录在C:\Users\Public\MySQL,之后在该文件夹配置my.ini接下来启动MySQL,在cmd中操作cd C:\Users\Public\MySQL\bin
mysqld --initiali
2023-02-19
50
Mysql 错误提示too many connections,最近遇到这个错误,经过上网查资料解决了,这里记录下,帮助有需要的朋友,
解决方法是修改/etc/mysql/my.cnf,添加以下一行:
set-variable = max_connections=500
或在启动命令中加上参数 max_connections=500
就是修改最大连接数,然后重启mysql.默认的连接数是100,太少了,所以容易出现如题错误.
以下是mysql.com网站的相关说明:
If you get a Too man