首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL全量备份

    当数据库跑了较长时间后,存储的数据将越来越多,这时候往往也意味着,一旦数据库服务器出现宕机等相关状况,将给我们的业务带来巨大的影响,甚至可能是具备一定的毁灭性的,因此,即使对数据库进行备份是极其重要的。...接下来,我们一起来学习全量备份的实现方式。...环境说明: 数据库服务器:172.18.250.208 备用服务器:172.18.251.4 备份数据库服务器 首先,我们先在数据库服务器上创建一个数据库,并写入一些数据 [root@node1 ~]#...,否则一旦数据库服务器出现宕机等意外,就功亏一篑了。...Server [root@node2 ~]# yum -y install mariadb-server [root@node2 ~]# systemctl enable mariadb #注意,做全量恢复时

    2.5K30

    mysql全量数据迁移

    mydumper/loader 全量导入数据最佳实践 为了快速的迁移数据 (特别是数据量巨大的库),可以参考以下建议: mydumper 导出数据至少要拥有 SELECT,RELOAD,LOCK TABLES...导入示例及相关配置: mydumper 导出后总数据量 214G,单表 8 列,20 亿行数据 集群拓扑 TiKV * 12 TiDB * 4 PD * 3 mydumper -F 设置为 16,Loader...-t 参数设置为 64 结果:导入时间 11 小时左右,19.4 G/小时 从 MySQL 导出数据 我们使用 mydumper 从 MySQL 导出数据,如下: ....--skip-tz-utc 添加这个参数忽略掉 MySQL 与导数据的机器之间时区设置不一致的情况,禁止自动转换。.../var/test 导入成功之后,我们可以用 MySQL 官方客户端进入 TiDB,查看: mysql -h127.0.0.1-P4000 -uroot

    1.6K00

    mysql实现定时全量备份

    参考地址:  https://github.com/wentmac/mysql_backup 定时备份逻辑: 1:定义备份的数据库 2:使用mysqldump备份 3:压缩备份sql脚本 4:删除10天前的备份数据...  # backup_dir="/Host/backup/mysql/" # 要备份的数据库名 # #all_db="$(${mysql} -u ${db_user} -h ${db_host} -p$...-d ${backup_dir} && mkdir -p ${backup_dir} #备份数据库函数# mysql_backup() {     # 取所有的数据库名 #     for db in...${time}         dumpfile=${backup_dir}${backname}         #将备份的时间、数据库名存入日志         echo "------"$(date... to ${j} done at "$(date +'%Y-%m-%d %T') >>${logfile}     done } #进入数据库备份文件目录 cd ${backup_dir} mysql_backup

    1.9K20

    Mysql手动全量增量迁移实战

    如果可以接受一定时间的停写,可以使用mysqldump+binlog的方式迁移数据 规划 8002库迁移全量加增量到8001库,增量迁移时8002库只读保证数据一致。...------+ | count(*) | +----------+ | 100000 | +----------+ 1 row in set (0.01 sec) (2)8002库模拟业务流量,并全量迁出...切换了binlog (3)全量迁移结束,8002库继续写入一段时间,8001库全量迁入 mysql -uroot -proot -P8001 -h127.0.0.1 server_234_db 数据库,只限本地log日志) 在mysql中查看binlog日志 mysql> show binlog events [IN 'log_name'] [FROM pos] [LIMIT...指定从哪个pos起始点开始查起(不指定就是从整个文件首个pos点开始算) LIMIT [offset,] 偏移量(不指定就是0) row_count 查询总条数(不指定就是所有行

    2K40

    大数据量查询容易OOM?试试MySQL流式查询

    一、前言 程序访问 MySQL 数据库时,当查询出来的数据量特别大时,数据库驱动把加载到的数据全部加载到内存里,就有可能会导致内存溢出(OOM)。...其实在 MySQL 数据库中提供了流式查询,允许把符合条件的数据分批一部分一部分地加载到内存中,可以有效避免OOM;本文主要介绍如何使用流式查询并对比普通查询进行性能测试。...() 可以实现流式查询,在执行 ResultSet.next() 方法时,会通过数据库连接一条一条的返回,这样也不会大量占用客户端的内存。...三、性能测试 创建了一张测试表 my_test 进行测试,总数据量为 27w 条,分别使用以下4个测试用例进行测试: 大数据量普通查询(27w条) 大数据量流式查询(27w条) 小数据量普通查询(10...查询耗时 10 条数据量用时 1 秒 ? 四、总结 MySQL 流式查询对于内存占用方面的优化还是比较明显的,但是对于查询速度的影响较小,主要用于解决大数据量查询时的内存占用多的场景。

    2.9K20

    【数据库】MySQL查询优化

    MySQL发送查询请求,到底做了什么工作? 下图是MySQL查询执行流程图: ? •客户端发送一条查询给服务器。•服务器先检查查询缓存,如果命中了缓存,则立刻返回查询在缓存中的结果。...2.关联子查询 MySQL的子查询实现是非常糟糕的。...认为无法先执行这个子查询,而是先对book 进行全表扫描,然后再根据book_id进行子查询。...获取需要访问的记录后,再更加关联列会原表查询所需要的所有列。以上并不一定符合你,具体还需explain对比择优使用。 小结: 总体来说都是围绕着尽量少全表扫描,尽量使用索引进行优化。...,所以每当写完SQL应该思考以下几点: •是否需要全表查询以及返回的数据是否合理。

    17.5K10

    MYSQL数据库-复合查询

    MYSQL数据库-复合查询 零、前言 一、基本查询 二、多表查询 三、自连接 四、子查询 1、单行子查询 2、多行子查询 3、多列子查询 3、在from子句中使用子查询 五、合并查询 1、union 2...、union all 零、前言 本章主要讲解学习MYSQL数据库中的复合查询,前面我们讲解的mysql表的查询都是对一张表进行查询,在实际开发中这远远不够 一、基本查询 示例: 查询工资高于500...worker,给自己的表起别名,因为要先做笛卡尔积,所以别名可以先识别 四、子查询 子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询 1、单行子查询 返回一行记录的子查询...,单行数据;多行子查询是指返回单列多行数据,都是针对单列而言的,而多列子查询则是指查询返回多个列数据的子查询语句 示例:查询和SMITH的部门和岗位完全相同的所有雇员,不含SMITH本人 3、在from...子句中使用子查询 子查询语句出现在from子句中。

    17K30

    Mysql数据库-子查询

    Mysql数据库-子查询 1. 什么是子查询 # 子查询定义 ## B语句作为A语句的一部分,B语句是select查询语句,那么B语句称之为子查询,内层查询(子集,subquery) -- 1....查询emp表的最高工资salary,然后再根据最高工资salary查询员工的信息 -- 2.1 通过max(salary)可以查询出emp表的最高工资为9000 mysql> select max(salary...查询部门平均工资超过全公司平均工资的部门id和部门平均工资 -- a. 先查询公司平均工资 -- b....查询部门平均工资超过全公司平均工资的部门id和部门平均工资 -- 3.1 先查询公司平均工资 mysql> select avg(salary) from emp; +-----------------...查询工资大于5000的员工,来自于哪些部门的名字 -- 1.1 首先查询salary>5000的部门ID,列子查询(多行单列) mysql> select dept_id from emp where

    49.8K10

    Kafka Connect JDBC Source MySQL 全量同步

    从数据库获取数据到 Apache Kafka 无疑是 Kafka Connect 最流行的用例。Kafka Connect 提供了将数据导入和导出 Kafka 的可扩展且可靠的方式。...安装 JDBC 驱动 因为 Connector 需要与数据库进行通信,所以还需要 JDBC 驱动程序。JDBC Connector 插件也没有内置 MySQL 驱动程序,需要我们单独下载驱动程序。...创建 MySQL 表 准备测试数据,如下创建 kafka_connect_sample 数据库,并创建 student、address、course 三张表: CREATE DATABASE kafka_connect_sample...指定要获取的表 现在我们已经正确安装了 Connect JDBC 插件、驱动程序并成功运行了 Connect,我们可以配置 Kafka Connect 以从数据库中获取数据。...-", "mode":"bulk" } }' mode 参数指定了工作模式,在这我们使用 bulk 批量模式来同步全量数据(mode 还可以指定 timestamp

    5.2K21

    MySQL数据库——连接查询

    概述: 连接查询的作用将多张表进行内容上的连接,查看数据时可以同时看到多张表的多个数据 连接查询的分类 内连接查询 左连接查询 右连接查询 自连接查询 语法 #内连接 SELECT * FROM...inner join 实现多表查询,查询共有记录。...SELECT * FROM 表1 inner join 表2 on 表1.字段=表2.字段 左连接查询 left join 以左表为主,查询右表的数据。若右表不存在数据,则返回null。...SELECT * FROM 表1 left join 表2 on 表1.字段=表2.字段 右连接查询 right join 以右表为主,查询左表的数据。若左表不存在数据,则返回null。...SELECT * FROM 表1 right join 表2 on 表1.字段=表2.字段 自连接查询 inner join 左表和右表是同一个表,查询两个表中的数据。

    57.3K85

    mysql慢查询优化-千万级数据量

    最近在忙其他项目,偶然发现之前的项目中,有个定时刷新告警信息的模块查询比较慢,简单的一个关联查询,尽然耗了20多秒才能出来, 才发现表的数据量已经达到了700万,我擦,我这暴脾气,不知道我强迫症吗,于是下定决心...1个小时解决了丫的 (—_— 后来,用时之久啊,人都消瘦了许多) 首先思路是,这么大数据,查询当然必须添加索引了,看以下介绍: 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order...= 6.对字段加函数或者运算的 在order by操作中,mysql只有在排序条件不是查询条件表达式时才使用索引。...is not null 或 is null 索引会失效 如果mysql估计使用全表扫描要比使用索引快,则不使用索引。 比如:列id均匀的分布在1-100之间。...handler_read_rnd_next:这个值越高,说明查询低效 案例分析 一张告警信息表,数据量为620万 查询数量,用时1s image.png 添加内连接,用时5s (device表700

    2.4K30
    领券