Linux下最最常用的MySQL运维脚本,希望能帮助你
2023-12-8 12:21:8 Author: Linux学习(查看原文) 阅读量:2 收藏

来自公众号:入门小站

在Linux中,使用MySQL进行常见的运维任务时,可以编写一些脚本来简化操作。以下是一些常用的MySQL运维脚本,希望对你的工作有所帮助.

  1. 备份数据库:
#!/bin/bash

BACKUP_DIR="/path/to/backup/directory"
MYSQL_USER="your_mysql_user"
MYSQL_PASSWORD="your_mysql_password"
DATABASE="your_database_name"
DATE=$(date +%Y%m%d%H%M%S)

mysqldump -u $MYSQL_USER -p$MYSQL_PASSWORD $DATABASE > $BACKUP_DIR/$DATABASE-$DATE.sql

  1. 优化和修复数据库表:
#!/bin/bash

MYSQL_USER="your_mysql_user"
MYSQL_PASSWORD="your_mysql_password"
DATABASE="your_database_name"

mysqlcheck -u $MYSQL_USER -p$MYSQL_PASSWORD --auto-repair --optimize $DATABASE

  1. 清除过期的备份文件:
#!/bin/bash

BACKUP_DIR="/path/to/backup/directory"
DAYS_TO_KEEP=7

find $BACKUP_DIR -type f -mtime +$DAYS_TO_KEEP -exec rm {} \;

  1. 监控MySQL进程状态:
#!/bin/bash

MYSQL_USER="your_mysql_user"
MYSQL_PASSWORD="your_mysql_password"

mysqladmin -u $MYSQL_USER -p$MYSQL_PASSWORD processlist

  1. 监控MySQL运行状态信息:
#!/bin/bash

MYSQL_USER="your_mysql_user"
MYSQL_PASSWORD="your_mysql_password"

mysqladmin -u $MYSQL_USER -p$MYSQL_PASSWORD extended-status

  1. 查看数据库大小:
#!/bin/bash

MYSQL_USER="your_mysql_user"
MYSQL_PASSWORD="your_mysql_password"
DATABASE="your_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;"

  1. 导出数据库表结构:
#!/bin/bash

MYSQL_USER="your_mysql_user"
MYSQL_PASSWORD="your_mysql_password"
DATABASE="your_database_name"

mysqldump -u $MYSQL_USER -p$MYSQL_PASSWORD --no-data $DATABASE > schema.sql

  1. 导入数据库表结构:
#!/bin/bash

MYSQL_USER="your_mysql_user"
MYSQL_PASSWORD="your_mysql_password"
DATABASE="your_database_name"

mysql -u $MYSQL_USER -p$MYSQL_PASSWORD $DATABASE < schema.sql

  1. 锁定MySQL数据库:
#!/bin/bash

MYSQL_USER="your_mysql_user"
MYSQL_PASSWORD="your_mysql_password"

mysql -u $MYSQL_USER -p$MYSQL_PASSWORD -e "FLUSH TABLES WITH READ LOCK;"

  1. 解锁MySQL数据库:
#!/bin/bash

MYSQL_USER="your_mysql_user"
MYSQL_PASSWORD="your_mysql_password"

mysql -u $MYSQL_USER -p$MYSQL_PASSWORD -e "UNLOCK TABLES;"

请注意:在使用这些脚本之前,你需要替换占位符(your_mysql_user,your_mysql_password,your_database_name,/path/to/backup/directory 等)为适当的值。

---END---

文章来源: http://mp.weixin.qq.com/s?__biz=MzI4MDEwNzAzNg==&mid=2649462201&idx=2&sn=15010fab95f9b2e8a8b23ff43b63bf6b&chksm=f3a2b4cac4d53ddc4fe1afee78b1baa12b29365f7171a20cca24a575215ae082a64caae215ac&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh