Изучение 26 методов анализа больших данных: часть 1
Изучение 26 методов анализа больших данных: часть 1
Percona XtraBackup - бесплатная программа на основе MySQL, используемая для создания оперативных резервных копий. Это также с открытым исходным кодом. С помощью Percona XtraBackup вы можете создавать горячие резервные копии запущенных баз данных MySQL, MariaDB или Percona Server, не останавливая службу баз данных и не делая ее доступной только для чтения. Это важная особенность для бизнеса в Интернете.
Для баз данных, использующих механизмы хранения InnoDB, XtraDB и HailDB, Percona XtraBackup может выполнять неблокирующие резервные копии. Для баз данных, использующих механизмы хранения MyISAM, Merge и Archive, Percona XtraBackup также может выполнять резервное копирование путем кратковременной приостановки записи в конце процедуры резервного копирования.
В этой статье я покажу вам, как установить и использовать Percona XtraBackup для выполнения полного и инкрементного оперативного резервного копирования на сервере Vultr на основе приложения WordPress One-Click. Мы выполним полное резервное копирование и две инкрементные резервные копии, а затем восстановим базу данных в состояние каждой из трех резервных копий соответственно.
Я предполагаю, что вы развернули экземпляр сервера WordPress Vultr One-Click с нуля и вошли в систему как root, используя SSH.
В целях безопасности рекомендуется создать еще одну учетную запись пользователя с правами root, а затем использовать ее для входа в систему и выполнения повседневных операций в системе. Вы все еще можете выполнить почти все команды суперпользователя с помощью sudo
команды.
1) Создать нового пользователя. Замените sysuser
на свое имя пользователя.
useradd sysuser
2) Установите пароль для вашего нового пользователя. Замените sysuser
на свое имя пользователя.
passwd sysuser
3) Предоставьте root-права вашему новому пользователю.
visudo
Найдите абзац ниже.
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
Добавьте строку непосредственно под этим абзацем, замените ее sysuser
своим именем пользователя.
sysuser ALL=(ALL) ALL
Сохранить и выйти.
:wq
4) Переключитесь на новую учетную запись пользователя.
logout
Затем используйте учетные данные нового пользователя для входа в систему из окна терминала.
По умолчанию, root-логин MySQL сохраняется на VPS в /root/.my.cnf
. Отобразите пароль в вашем терминале с помощью следующей команды.
sudo cat /root/.my.cnf
Используйте учетные данные, отображаемые на экране, чтобы войти в консоль MySQL.
mysql -u root -p
В оболочке MySQL выполните следующее.
SHOW DATABASES;
Все базы данных MySQL будут отображены на экране. База данных с именем like wp5273512
- это база данных WordPress, которую мы хотим сделать резервную копию. В следующей команде замените wp5273512
свою собственную:
USE wp5273512;
Проверьте механизм хранения для каждой таблицы:
SHOW TABLE STATUS\G
Вы обнаружите, что все таблицы в вашей базе данных WordPress MySQL используют механизм хранения InnoDB, который идеально подходит для выполнения оперативного резервного копирования с помощью Percona XtraBackup.
Для любых других баз данных MySQL, использующих механизм хранения MyISAM, мы все равно можем сделать их резервную копию с помощью Percona XtraBackup, кратко приостановив запись.
Все еще в оболочке MySQL, используйте следующие команды для создания выделенного пользователя базы данных для резервного копирования. Не забудьте заменить имя пользователя базы данных xbuser
и пароль xbpasswd
своими собственными:
CREATE USER 'xbuser'@'localhost' IDENTIFIED BY 'xbpasswd';
GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT, CREATE TABLESPACE, PROCESS, SUPER, CREATE, INSERT, SELECT ON *.* TO 'xbuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Предоставленные выше привилегии необходимы для полной функциональности Percona XtraBackup. Вы можете удалить некоторые из них, чтобы уменьшить функциональность и повысить безопасность. Для получения дополнительной информации посетите официальный веб-сайт Percona XtraBackup .
Вы можете довольно легко установить Percona XtraBackup из RPM-репозитория Percona:
sudo yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
sudo yum install -y percona-xtrabackup
Во-первых, вам нужно добавить пользователя sysuser
в mysql
группу. Замените sysuser
на свое имя пользователя.
sudo gpasswd -a sysuser mysql
Создайте каталог для хранения полных резервных копий.
sudo mkdir -p /dbbackup/full/
Создайте другой каталог для хранения инкрементных резервных копий.
sudo mkdir -p /dbbackup/inc/
Измените владельца этих каталогов на пользователя sysuser
и группу sysuser
.
sudo chown -R sysuser:sysuser /dbbackup
Выйдите из системы, чтобы эти изменения вступили в силу.
logout
Затем войдите sysuser
снова.
XtraBackup состоит в основном из программы XtraBackup и innobackupex
сценария perl. Обычно innobackupex
для удобства вы можете использовать скрипт perl для выполнения различных рабочих процедур.
Введите следующую команду, чтобы создать первую полную резервную копию. Не забудьте заменить имя пользователя xbuser
базы данных, пароль пользователя базы данных xbpasswd
и каталог полной резервной копии /dbbackup/full/
своими собственными.
sudo innobackupex --user=xbuser --password=xbpasswd /dbbackup/full/
При правильном выполнении этой команды вы увидите подтверждающее сообщение "innobackupex: выполнено ОК!" в последней строке вывода.
Все вновь созданные файлы этой полной резервной копии будут храниться в каталоге с меткой времени в /dbbackup/full/
. Например, /dbbackup/full/2015-05-22_05-45-54
.
Введите следующую команду, чтобы создать первую инкрементную резервную копию. Подставьте переменные в команде соответственно.
sudo innobackupex --user=xbuser --password=xbpasswd --incremental --incremental-basedir=/dbbackup/full/2015-05-22_05-45-54 /dbbackup/inc/
Опять же, вы увидите "innobackupex: завершено ОК!" в конце вывода, когда команда выполняется успешно. Файлы резервной копии будут храниться в каталоге с меткой времени в /dbbackup/inc/
.
Введите следующую команду, чтобы создать вторую инкрементную резервную копию. Замените переменные в команде соответственно.
sudo innobackupex --user=xbuser --password=xbpasswd --incremental --incremental-basedir=/dbbackup/inc/2015-05-22_05-48-12 /dbbackup/inc/
В случае успеха вы увидите «innobackupex: завершено ОК!» сообщение снова. Проверьте /dbbackup/inc/
папку еще раз, чтобы увидеть файлы резервных копий.
Все файлы резервных копий базы данных должны быть подготовлены, прежде чем их можно будет использовать для восстановления базы данных.
Примечание . Перед выполнением процедур подготовки и восстановления лучше хранить копию всего каталога резервной копии (например, /dbbackup/
) в другом месте на случай, если повреждение резервной копии файлов вызвано ошибкой.
В каждом каталоге резервных копий есть файл с именем, xtrabackup_checkpoints
который содержит тип резервной копии, порядковый номер начала и конца журнала ( from_lsn
и to_lsn
). Вы можете использовать эти цифры для уточнения вашей стратегии восстановления базы данных. Посмотрите на примеры ниже.
В xtrabackup_checkpoints
файле первой полной резервной копии у меня есть:
backup_type = full-backuped
from_lsn = 0
to_lsn = 2932478
В xtrabackup_checkpoints
файле первой инкрементной резервной копии у меня есть:
backup_type =incremental
from_lsn = 2932478
to_lsn = 2970177
В xtrabackup_checkpoints
файле второй инкрементной резервной копии у меня есть:
backup_type = incremental
from_lsn = 2970177
to_lsn = 3004672
Вкратце, вы должны работать с каждой резервной копией в порядке возрастания lsn. Если последовательность lsn неполная или неупорядоченная, вы можете потерять данные.
Примечание . Следующие команды включают три каталога, замените их собственными.
Чтобы восстановить базу данных до состояния первой полной резервной копии, вам необходимо подготовить файлы резервной копии с помощью следующей команды:
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54
Чтобы восстановить базу данных до состояния первой инкрементной резервной копии, вам необходимо подготовить файлы резервной копии с помощью следующих команд:
sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-48-12
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54
Чтобы восстановить базу данных до состояния второй инкрементной резервной копии, вам необходимо подготовить файлы резервной копии с помощью следующих команд:
sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54
sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-48-12
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-51-32
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54
Примечания :
Для инкрементных резервных копий следует использовать этот --redo-only
параметр для всех, кроме последней инкрементной резервной копии. Тем не менее, использование этой опции в последнем инкрементном резервном копировании по-прежнему безвредно для согласованности ваших данных - это приведет только к некоторой задержке из-за отката базы данных.
Последняя команда каждого добавочного сценария является необязательной, но рекомендуется, поскольку она ускоряет восстановление.
После подготовки изменения, записанные в файлах инкрементной резервной копии, будут добавлены к подготовленным базовым файлам полной резервной копии, поэтому вы всегда должны использовать подготовленные файлы полной резервной копии для восстановления базы данных, независимо от того, выбрали ли вы полную или инкрементную резервную копию.
Прежде чем вы сможете восстановить свою базу данных, вам необходимо остановить службу базы данных.
sudo service mysqld stop
Вам также необходимо очистить каталог базы данных. Вы можете переместить файлы текущей базы данных в другое место для предосторожности.
sudo mkdir /currentdb
sudo mv /var/lib/mysql/* /currentdb
Восстановите базу данных с подготовленными файлами «полной резервной копии».
sudo innobackupex --copy-back /dbbackup/full/2015-05-22_05-45-54
Поскольку процедура восстановления изменит владельца каталога базы данных, вам необходимо изменить его обратно, mysql:mysql
чтобы сделать его работоспособным.
sudo chown -R mysql:mysql /var/lib/mysql
Перезапустите службу базы данных.
sudo service mysqld start
Вот и все. На этом этапе вы можете посетить свой сайт WordPress, чтобы убедиться, что процесс восстановления прошел успешно.
Изучение 26 методов анализа больших данных: часть 1
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше