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

最最常用的MySQL Shell运维脚本,赶紧收藏吧!_第1张图片作为运维人员或者开发人员,日常的mysql运维工作我们是一定要会的,我收集了一些常用shell脚本,仅供参考!

1、备份数据库:

#!/bin/bash

BACKUP_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/bash

MYSQL_USER="mysql_user"
MYSQL_PASSWORD="mysql_password"
DATABASE="database_name"

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

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

#!/bin/bash

BACKUP_DIR="backup_dir"
DAYS_TO_KEEP=7

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

4、监控MySQL进程状态:

#!/bin/bash

MYSQL_USER="mysql_user"
MYSQL_PASSWORD="mysql_password"

mysqladmin -u $MYSQL_USER -p$MYSQL_PASSWORD processlist

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

#!/bin/bash

MYSQL_USER="mysql_user"
MYSQL_PASSWORD="mysql_password"

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

6、查看数据库大小:

#!/bin/bash

MYSQL_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/bash

MYSQL_USER="mysql_user"
MYSQL_PASSWORD="mysql_password"
DATABASE="database_name"

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

8、导入数据库表结构:

#!/bin/bash

MYSQL_USER="mysql_user"
MYSQL_PASSWORD="mysql_password"
DATABASE="database_name"

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

9、锁定MySQL数据库:

#!/bin/bash

MYSQL_USER="mysql_user"
MYSQL_PASSWORD="mysql_password"

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

10、解锁MySQL数据库:

#!/bin/bash

MYSQL_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)