Репликация дампа базы данных sql

Ответить
ya
^-^
Сообщения: 2336
Зарегистрирован: 16 дек 2021, 19:56

Репликация дампа базы данных sql

Сообщение ya »

Создание дампа sql

Код: Выделить всё

#!/bin/bash

dirsql1=~/html/ha0.sys/sql
dirsql2=~/html/ha1.sys/
filename1=$(date +%Y.%m.%d_%H-%M-%S).sys.sql

rm -fr ${dirsql1}/*.sql.zip

mysqldump --replace --skip-add-locks --skip-add-drop-table --skip-comments --no-create-db --databases база_данных -e | sed 's/^CREATE TABLE /CREATE TABLE IF NOT EXISTS /' > ${filename1}
zip -9 -r ${filename1}.zip ${filename1}
rm -fr ${filename1}
mv ${filename1}.zip ${dirsql1}
chown gt:users ${dirsql1}/${filename1}.zip
sshpass -p 'пароль' rsync --progress -ae "ssh -p 22" ${dirsql1} логин@хост:${dirsql2}

exit 0
Импорт дампа sql

Код: Выделить всё

#!/bin/bash

# Проверяем, был ли передан параметр (имя архивного файла)
if [ $# -eq 0 ]; then
    echo "Error: No archive file provided"
    exit 1
fi

# Считываем имя архивного файла из параметра
ARCHIVE_FILE=$1

# Разархивируем и импортируем
unzip -p "$ARCHIVE_FILE" | mysql -u пользователь_бд -p'пароль' база_данных
exit 0
ya
^-^
Сообщения: 2336
Зарегистрирован: 16 дек 2021, 19:56

Re: Репликация дампа базы данных sql

Сообщение ya »

PowerShell (Windows)

Код: Выделить всё

# Проверяем, был ли передан параметр (имя архивного файла)
if ($args.Length -eq 0) {
    Write-Error "Error: No archive file provided"
    exit 1
}

# Считываем имя архивного файла из параметра
$archiveFile = $args[0]

# Разархивируем и импортируем
Unzip -SourcePath "$archiveFile" | mysql -u username -p'пароль' database_name
Выполните скрипт, передав имя архивного файла в качестве параметра: . import_db.ps1 database.sql.zip
ya
^-^
Сообщения: 2336
Зарегистрирован: 16 дек 2021, 19:56

Re: Репликация дампа базы данных sql

Сообщение ya »

Код: Выделить всё

#!/bin/bash

# Определяем переменные
ARCHIVE_FILE="path/to/your/archive.zip"
REMOTE_SERVER="your_remote_server"
REMOTE_USER="user"
MYSQL_USER="user_db"
MYSQL_PASSWORD="ваш_пароль"
DB_NAME="db_name"

# Выполнение команды через SSH
ssh "${REMOTE_USER}@${REMOTE_SERVER}" "unzip -p '${ARCHIVE_FILE}' | mysql -u '${MYSQL_USER}' -p'${MYSQL_PASSWORD}' '${DB_NAME}'"
Ответить