mysql集群在线无损扩容
前言
收到数据库磁盘占比告警了
前提条件,磁盘采用lvm管理方式,做在线无损扩容才方便管理,其他方式没测试过
1、分配一个1T的新盘,HDD、SDD随规划选择
这个一般在磁阵或者云管理平台操作,不需要什么命令,一般都是图形化操作
2、查找新分配的1T新盘
|
|
个人建议第二个命令,2个命令都会返回一堆查询值,怎么判断谁是新盘,谁是已使用的盘,这点有运维经验的人还是不成问题的,不详说
……一位Java开发者,喜欢研究技术,同时也在学习Golang和Python中,对服务器、Linux使用比较熟悉。欢迎添加技术交流QQ群:655158296
收到数据库磁盘占比告警了
前提条件,磁盘采用lvm管理方式,做在线无损扩容才方便管理,其他方式没测试过
这个一般在磁阵或者云管理平台操作,不需要什么命令,一般都是图形化操作
|
|
个人建议第二个命令,2个命令都会返回一堆查询值,怎么判断谁是新盘,谁是已使用的盘,这点有运维经验的人还是不成问题的,不详说
……找到每日全量备份的数据,把订单表还原到测试库,然后单独把订单表重新备份,针对误删的表进行全量恢复 采用的工具是mydumper,非mysql官方的mydump 心想:好在有每日凌晨5点的全量备份,虽然在自己手里,从开发了每日全量备份脚本并配置定时任务每天执行,从来没派上用场,也希望不会派上用场,但是良好的备份意识还是挽救了90%的数据。 半小时左右,90%的数据恢复,然后把问题上报。
……Mydumper是一个针对MySQL和Drizzle的高性能多线程备份和恢复工具。开发人员主要来自MySQL,Facebook,SkySQL公司。性能比自带的mysqldump强劲
github: https://github.com/mydumper/mydumper
redhat、centos举例
|
|
|
|
|
|
|
|
|
|
|
|
| 参数 | 说明 |
|---|---|
| -B | –database 要导出的dbname |
| -T | –tables-list 需要导出的表名,导出多个表需要逗号分隔,t1[,t2,t3 ….] |
| -o | –outputdir 导出数据文件存放的目录,mydumper会自动创建 |
| -s | –statement-size 生成插入语句的字节数, 默认1000000字节 |
| -r | –rows Try to split tables into chunks of this many rows. This option turns off –chunk-filesize |
| -F | –chunk-filesize 切割表文件的大小,默认单位是 MB ,如果表大于 |
| -c | –compress 压缩导出的文件 |
| -e | –build-empty-files 即使是空表也为表创建文件 |
| -x | –regex 使用正则表达式匹配 db.table |
| -i | –ignore-engines 忽略的存储引擎,多个值使用逗号分隔 |
| -m | –no-schemas 只导出数据,不导出建库建表语句 |
| -d | –no-data 仅仅导出建表结构,创建db的语句 |
| -G | –triggers 导出触发器 |
| -E | –events 导出events |
| -R | –routines 导出存储过程和函数 |
| -k | –no-locks 不执行临时的只读锁,会导致备份不一致 。 WARNING: This will cause inconsistent backups –less-locking 最小化在innodb表上的锁表时间 –butai |
| -l | –long-query-guard 设置长时间执行的sql 的时间标准 |
| -K | –kill-long-queries 将长时间执行的sql kill |
| -D | –daemon 以守护进程的方式执行 |
| -I | –snapshot-interval 创建导出快照的时间间隔,默认是 60s ,该参数只有在守护进程执行的时候有用。 |
| -L | –logfile指定mydumper输出的日志文件,默认使用控制台输出。 –tz-utc SET TIME_ZONE=’+00:00’ at top of dump to allow dumping of TIMESTAMP data when a server has data in different time zones or data is being moved between servers with different time zones, defaults to on use –skip-tz-utc to disable. –skip-tz-utc –use-savepoints 使用savepoints 减少MDL 锁事件 需要 SUPER 权限 –success-on-1146 Not increment error count and Warning instead of Critical in case of table doesn |
| 参数 | 说明 |
|---|---|
| -d | –directory 备份文件的文件夹 |
| -q | –queries-per-transaction 每次事物执行的查询数量,默认是1000 |
| -o | –overwrite-tables 如果要恢复的表存在,则先drop掉该表,使用该参数,需要备份时候要备份表结构 |
| -B | –database 需要还原的数据库 |
| -e | –enable-binlog 启用还原数据的二进制日志 |
| -h | –host The host to connect to |
| -u | –user Username with privileges to run the dump |
| -p | –password User password |
| -P | –port TCP/IP port to connect to |
| -S | –socket UNIX domain socket file to use for connection |
| -t | –threads 还原所使用的线程数,默认是4 |
| -C | –compress-protocol 压缩协议 |
| -V | –version 显示版本 |
| -v | –verbose 输出模式, 0 = silent, 1 = errors, 2 = warnings, 3 = info, 默认为2 |
metadata文件存储了binlog位置点和备份开始结束的时间
……如果不使用最新版本的mysql,但是低版本的mysql官方不提供编译好的安装包,只能自己编译安装了。以下步骤和参数针对5.6、5.7生效,新版本有变动请阅读官方文档介绍。
使用下面的命令检查是否安装有MySQL Server
|
|
|
|
或者web下载
历史各版本下载:https://downloads.mysql.com/archives/community/
Source Code -> Generic Linux 通用tar包