Задать вопрос
Ответы пользователя по тегу MySQL
  • Как работать с бинарными логами?

    @AndGroup
    Затереть можно всё, вопрос лишь в том, что надо понимать, что реплика применяет бинарный лог после того получит данные. В идеале это должно быть мгновенно. Но! Получение данных может быть с задержкой: это зависит от многих параметров, один из таких параметров является - скорость сетевого соединения между реплицируемым сервером и репликантом. Кроме скорости сетевого соединения, так же следует учитывать производительность обоих серверов. Потому прежде чем принимать решение о времени хранения бинлог-файлов следует определится есть ли отставание репликанта от реплицируемого сервера. Кроме вышеизложенного следует учитывать, что реплика создается не только для дублирования данных, но и для их быстрого восстановления - потому на мой взгляд следует хранить бинарные логи чтобы можно было восстановить сервер с момента последнего полного дампа базы (обычно резервную копию снимаю раз в неделю, а бинарные логи хранят 7-8 дней, и конечно же при снятии дампа необходимо хранить запись о текущем бинлог-файле и позиции реплики - иначе будет просто недельный дамп, а накатывать будет неизвестно от какой точки).
    Ответ написан
    Комментировать
  • Как решить проблему зеркалирования кавычек SQL-запроса?

    @AndGroup
    На мой взгляд было бы логичнее использовать такую конструкцию для выполнения запроса:
    #!/bin/bash
    ixdate=$(date +%s)
    CPUCurFreq=$(xenpm get-cpufreq-states | grep "current frequency")
    XENLIST=$(xl list)
    
    MyUSER="ServerInfo"
    MyPASS="sosiskasardelka"
    MyHOST="172.16.0.3"
    MYSQL="$(which mysql)"
    
    $MYSQL -u $MyUSER -h $MyHOST -p$MyPASS -e "INSERT INTO serverInfo.serverBoard ('id', 'name', 'update', 'data') VALUES (NULL, 'cpucurfreq', "$ixdate", "$CPUCurFreq");"
    $MYSQL -u $MyUSER -h $MyHOST -p$MyPASS -e "INSERT INTO serverInfo.serverBoard ('id', 'name', 'update', 'data') VALUES (NULL, 'xenlist', $ixdate, $XENLIST);"
    
    echo $CPUCurFreq
    echo $XENLIST


    Должно быть правильно как с двойными кавычками, так и без них, потому пишу оба варианта.
    Ответ написан