centos

centos sqladmin脚本编写

小樊
32
2025-07-02 18:06:40
栏目: 云计算

在CentOS系统中,编写一个用于管理SQL数据库的脚本可以帮助自动化常见的任务,如备份、恢复、启动和停止服务等。以下是一个简单的示例脚本,用于管理MySQL数据库。请根据你的具体需求进行调整。

示例脚本:manage_mysql.sh

#!/bin/bash

# 数据库配置
DB_HOST="localhost"
DB_USER="root"
DB_PASSWORD="your_password"
DB_NAME="your_database"

# 备份目录
BACKUP_DIR="/var/backups/mysql"

# 创建备份目录(如果不存在)
mkdir -p $BACKUP_DIR

# 获取当前日期
DATE=$(date +%Y%m%d%H%M%S)

# 备份函数
backup_database() {
    echo "Starting database backup..."
    mysqldump -h $DB_HOST -u $DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_DIR/$DB_NAME-$DATE.sql
    if [ $? -eq 0 ]; then
        echo "Database backup completed successfully."
    else
        echo "Database backup failed."
    fi
}

# 恢复函数
restore_database() {
    echo "Starting database restore from $1..."
    mysql -h $DB_HOST -u $DB_USER -p$DB_PASSWORD $DB_NAME < $1
    if [ $? -eq 0 ]; then
        echo "Database restore completed successfully."
    else
        echo "Database restore failed."
    fi
}

# 显示帮助信息
usage() {
    echo "Usage: $0 {backup|restore|start|stop}"
    exit 1
}

# 根据参数执行相应操作
case "$1" in
    backup)
        backup_database
        ;;
    restore)
        if [ -z "$2" ]; then
            echo "Please specify the backup file to restore."
            usage
        fi
        restore_database $2
        ;;
    start)
        echo "Starting MySQL service..."
        systemctl start mysqld
        if [ $? -eq 0 ]; then
            echo "MySQL service started successfully."
        else
            echo "Failed to start MySQL service."
        fi
        ;;
    stop)
        echo "Stopping MySQL service..."
        systemctl stop mysqld
        if [ $? -eq 0 ]; then
            echo "MySQL service stopped successfully."
        else
            echo "Failed to stop MySQL service."
        fi
        ;;
    *)
        usage
        ;;
esac

exit 0

使用说明

  1. 保存脚本:将上述脚本保存为 manage_mysql.sh
  2. 修改配置:根据你的数据库配置修改脚本中的 DB_HOST, DB_USER, DB_PASSWORD, DB_NAMEBACKUP_DIR
  3. 赋予执行权限
    chmod +x manage_mysql.sh
    
  4. 运行脚本
    • 备份数据库:
      ./manage_mysql.sh backup
      
    • 恢复数据库:
      ./manage_mysql.sh restore /path/to/backup/file.sql
      
    • 启动MySQL服务:
      ./manage_mysql.sh start
      
    • 停止MySQL服务:
      ./manage_mysql.sh stop
      

注意事项

通过这种方式,你可以编写一个基本的SQL数据库管理脚本,并根据需要进行扩展和定制。

0
看了该问题的人还看了