最最常用的MySQL Shell运维脚本,赶紧收藏吧!

2024-01-13 17:12

本文主要是介绍最最常用的MySQL Shell运维脚本,赶紧收藏吧!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作为运维人员或者开发人员,日常的mysql运维工作我们是一定要会的,我收集了一些常用shell脚本,仅供参考!

1、备份数据库:

#!/bin/bashBACKUP_DIR="backup_dir"
MYSQL_USER="mysql_user"
MYSQL_PASSWORD="mysql_password"
DATABASE="database_name"
DATE=$(date +%Y%m%d%H%M%S)mysqldump -u $MYSQL_USER -p$MYSQL_PASSWORD $DATABASE > $BACKUP_DIR/$DATABASE-$DATE.sql

2、优化和修复数据库表:

#!/bin/bashMYSQL_USER="mysql_user"
MYSQL_PASSWORD="mysql_password"
DATABASE="database_name"mysqlcheck -u $MYSQL_USER -p$MYSQL_PASSWORD --auto-repair --optimize $DATABASE

3、清除过期的备份文件:

#!/bin/bashBACKUP_DIR="backup_dir"
DAYS_TO_KEEP=7find $BACKUP_DIR -type f -mtime +$DAYS_TO_KEEP -exec rm {} \;

4、监控MySQL进程状态:

#!/bin/bashMYSQL_USER="mysql_user"
MYSQL_PASSWORD="mysql_password"mysqladmin -u $MYSQL_USER -p$MYSQL_PASSWORD processlist

5、监控MySQL运行状态信息:

#!/bin/bashMYSQL_USER="mysql_user"
MYSQL_PASSWORD="mysql_password"mysqladmin -u $MYSQL_USER -p$MYSQL_PASSWORD extended-status

6、查看数据库大小:

#!/bin/bashMYSQL_USER="mysql_user"
MYSQL_PASSWORD="mysql_password"
DATABASE="database_name"mysql -u $MYSQL_USER -p$MYSQL_PASSWORD -e "SELECT table_schema AS 'Database Name', SUM(data_length + index_length) / 1024 / 1024 AS 'Size (MB)' FROM information_schema.TABLES GROUP BY table_schema;"

7、导出数据库表结构:

#!/bin/bashMYSQL_USER="mysql_user"
MYSQL_PASSWORD="mysql_password"
DATABASE="database_name"mysqldump -u $MYSQL_USER -p$MYSQL_PASSWORD --no-data $DATABASE > schema.sql

8、导入数据库表结构:

#!/bin/bashMYSQL_USER="mysql_user"
MYSQL_PASSWORD="mysql_password"
DATABASE="database_name"mysql -u $MYSQL_USER -p$MYSQL_PASSWORD $DATABASE < schema.sql

9、锁定MySQL数据库:

#!/bin/bashMYSQL_USER="mysql_user"
MYSQL_PASSWORD="mysql_password"mysql -u $MYSQL_USER -p$MYSQL_PASSWORD -e "FLUSH TABLES WITH READ LOCK;"

10、解锁MySQL数据库:

#!/bin/bashMYSQL_USER="mysql_user"
MYSQL_PASSWORD="mysql_password"mysql -u $MYSQL_USER -p$MYSQL_PASSWORD -e "UNLOCK TABLES;"

TIPS:在使用这些脚本之前,你需要替换占位符(mysql_user、mysql_password、database_name、backup_dir等)为适当的值。

这篇关于最最常用的MySQL Shell运维脚本,赶紧收藏吧!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/602196

相关文章

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java实现远程执行Shell指令

《Java实现远程执行Shell指令》文章介绍使用JSch在SpringBoot项目中实现远程Shell操作,涵盖环境配置、依赖引入及工具类编写,详解分号和双与号执行多指令的区别... 目录软硬件环境说明编写执行Shell指令的工具类总结jsch(Java Secure Channel)是SSH2的一个纯J

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID