Резервное копирование базы данных MySQL (полное резервное копирование и восстановление)
Резервное копирование базы данных MySQL (полное резервное копирование и восстановление)
Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
Оглавление
Предисловие
1. Полное резервное копирование MySQL
1. Подробное объяснение методов резервного копирования базы данных.
1.1 Важность резервного копирования базы данных
1.2 Классификация резервных копий баз данных
1.3 Интерпретация концепции полного резервного копирования MySQL
2.mysqldump сверло резервного копирования
2.1. Использование tar для упаковки резервной копии папки
2.2 Резервное копирование с помощью инструмента mysqldump
2. Полное восстановление MySQL
1.Восстановить всю работу базы данных
1.1 исходная команда для восстановления всей базы данных
1.2 Команда MySQL для восстановления всей базы данных
2.Восстановить работу таблицы.
2.1 Используйте команду source для восстановления таблицы
Подвести итог
Предисловие
В условиях быстрого развития автоматизации делопроизводства и электронной коммерции предприятия все больше зависят от информационных систем. Базы данных играют важную роль в качестве ядра информационных систем.
Резервное копирование базы данных — важное средство своевременного восстановления важных данных и предотвращения потери данных в случае потери данных.
Разумное решение для резервного копирования базы данных может эффективно восстанавливать данные в случае потери данных, но при этом также необходимо учитывать сложность технической реализации и эффективного использования ресурсов.
1. Полное резервное копирование MySQL
1. Подробное объяснение методов резервного копирования базы данных.
1.1 Важность резервного копирования базы данных
В производственной среде безопасность данных имеет решающее значение, и любая потеря данных может иметь серьезные последствия.
Важность резервного копирования базы данные в основном отражаются в:
Улучшите высокую доступность системы и аварийное восстановление на базе. система данных вылетает без базы данных Невозможно найти данные при резервном копировании
использоватьбаза данныхBackup Restoreбаза данных,Это лучшее решение для обеспечения восстановления данных с минимальными затратами в случае сбоя базы данных.,Если вы разрешите пользователю повторно добавить данные,Цена слишком высока
Без данных нет ничего, база данныхBackup — мощное средство предотвращения катастроф
использоватьбаза Существует множество причин потери данных в процессе передачи данных:
Ошибка программы: Обратитесь к базе Неизбежно, что программа, управляемая данными, может иметь некоторые ошибки, приводящие к потере данных.
Человеческая ошибка: относится к повреждению данных, вызванному неправильными действиями персонала, а также к потере данных, вызванной хакерскими атаками на систему и т. д.
Сбой компьютера: относится к повреждению операционной системы сервера или программного обеспечения, на котором работает база данных, что может привести к повреждению данных.
Сбой диска: относится к аппаратным устройствам, таким как жесткие диски, на которых хранятся данные, которые могут быть повреждены после длительной работы, что приведет к потере данных.
Бедствия (например, пожары, землетрясения) и кражи: относятся к возникновению стихийных бедствий и т. д., которые могут привести к потере данных.
Потеря данных может привести к серьезным финансовым потерям,Например, 28 мая 2015 года рухнул сайт Ctrip.com.,Убыток примерно 1,06 миллиона долларов в час.
так При построении информационной системы предприятия,база Управление резервным копированием данных — очень важный контент.
1.2 Классификация резервных копий баз данных
Существует множество типов методов резервного копирования. С физической и логической точки зрения резервное копирование можно разделить на следующие категории:
1.2.1 Физическое резервное копирование
Обратитесь к базе Резервное копирование физических файлов операционной системы данных (таких как файлы данных, файлы журналов и т. д.)
Резервное копирование — это базовая единица дисковых блоков для передачи данных с главной машины на резервную машину.
Физическое резервное копирование можно разделить на автономное резервное копирование (холодное резервное копирование) и онлайн-резервное копирование (горячее резервное копирование).
Холодное резервное копирование (автономное резервное копирование): после выключения базы Операция резервного копирования, выполняемая, когда данные могут лучше гарантировать сохранность базы. Целостность данных
Горячее резервное копирование (онлайн-резервное копирование): в базе Работая в режиме работы данных, этот метод резервного копирования опирается на базу данных. Файлы журналов данных
1.2.2 Логическое резервное копирование
Логическое резервное копирование заключается в использовании файлов в качестве основной единицы для передачи данных с главного компьютера на резервный компьютер.
Обратитесь к базе логические компоненты данных (такие как таблицы и т. д. базы) Резервное копирование объекта данных)
отбаза С точки зрения стратегии резервного копирования данных резервное копирование можно разделить на резервная копия、дифференциальное резервное копированиеиинкрементное резервное копирование
1.2.3 полная резервная копия
Каждый раз делайте полную резервную копию ваших данных
Можно создать резервную копию всей базы данные, включая все пользовательские таблицы, системные таблицы, индексы, представления и хранимые процедуры и т. д. данныхобъект
Но это требует больше времени и места,так,сделай это один раз полностью резервная Цикл копирования более длинный
1.2.4 Дифференциальное резервное копирование
Создайте резервную копию тех, что были в прошлый раз резервная Файлы, измененные с момента копирования, то есть только резервной базы. Содержимое раздела данных
Это лучше оригинала полная резервная копия маленькая, потому что с прошлого раза она содержит только полную информацию резервная база, изменившаяся с момента копирования данных
Его преимуществом является быстрое хранение и скорость восстановления.
1.2.5 Инкрементное резервное копирование
Резервное копирование будут выполняться только для файлов, которые были изменены с момента последнего сеанса.
1.2.6 Сравнение методов резервного копирования
Метод резервного копирования
полная резервная копия
дифференциальное резервное копирование
инкрементное резервное копирование
полная резервная копиясостояние в то время
Таблица 1, Таблица 2
Таблица 1, Таблица 2
Таблица 1, Таблица 2
Первый раз добавляю контент
Создать таблицу 3
Создать таблицу 3
Создать таблицу 3
Резервное копирование содержимого
Таблица 1, Таблица 2、Таблица 3
Таблица 3
Таблица 3
2-е добавление контента
Создать таблицу 4
Создать таблицу 4
Создать таблицу 4
Резервное копирование содержимого
Таблица 1, Таблица 2、Таблица 3、Таблица 4
Таблица 3、Таблица 4
Таблица 4
полная резервная копия всегда ставит всю базу Резервное копирование содержимого в данных
дифференциальное резервное копированиесуществовать Первый раз добавляю Резервное копирование после контента, то есть резервное копирование только что добавленного контента 2-е; добавление контент После резервного копирования контент, добавленный впервые, также был скопирован. Он основан на полной версии. резервная Определяется состоянием копия
дифференциальное резервное копирование полное каждый раз резервная Все изменения после копирования сохраняются, независимо от того, были ли они сделаны до дифференциального. резервное копирование
инкрементное резервное копирование создает резервную копию только каждого нового измененного содержимого, при первом создании. таблицу 3. Просто для таблицы 3 резервные копии, 2-е дополнение Таблица После 4, поскольку резервная копия Таблицы уже была скопирована ранее. 3. Так что только бэкап Таблица 4 контента
1.3 Интерпретация концепции полного резервного копирования MySQL
MySQL из Метод резервного копирования В основном включаютполная резервная копияиинкрементное резервное копирование
полная резервная копия предназначена для всей базы данныхизрезервное копирование、база Резервное копирование структуры данных и файловой структуры сохраняет базу в момент завершения резервного копирования. данных,даинкрементное резервное копированиеиз База
Преимущество полной резервной копии в том, что операции резервного копирования и восстановления просты и удобны.,Недостатком является большое дублирование данных.,Занимает много места для резервного копирования,Резервное копирование занимает много времени
В производственной среде оба метода резервного копированиягородиспользовать,Для достижения цели резервного копирования данных необходимо разработать разумный и эффективный план.,Избегайте серьезных последствий потери данных
2.mysqldump сверло резервного копирования
Резервное копирование данных базы MySQL можно выполнить двумя способами.
Потому что база данные на самом деле представляют собой файл, непосредственно упакованный базой папку данных или используйте специальный инструмент резервного копирования. mysqldump Может выполнять резервное копирование
2.1. Использование tar для упаковки резервной копии папки
MySQL избаза файлы данных по умолчанию сохраняются в сейфе Оглавление data папку, вы можете сохранить ее напрямую data папку, так как она занимает много места, вы можете использовать data Упаковывайте и сжимайте для экономии
Язык кода:javascript
копировать
yum -y install xz
#база Файл данных очень большой и может быть сжат в формате xz с более высокой степенью сжатия. Сначала необходимо установить инструмент формата сжатия xz.
tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data/
#вернобаза папка данных для операции упаковки
ls /opt
#Проверьте, успешно ли выполнена команда упаковки и создан ли файл резервной копии
du -sh /opt/mysql-2021-10-26.tar.xz
#Сравнивая размер файла до и после упаковки, можно увидеть, что сжатый файл резервной копии занимает очень мало места.
tar -Jxvf /opt/mysql-2021-10-26.tar.xz -C /usr/local/mysql/data/
systemctl restart mysql
#ifбаза повреждение файла данных, потеря данных,Может распаковывать файлы,Эквивалент восстановления данных
2.2 Резервное копирование с помощью инструмента mysqldump
mysqldump обычно используется на стороне клиента. резервное программа копирования, генерирующая набор программ, воспроизводящих исходную базу после выполнения определение объекта данных и операторы SQL для данных таблицы. Он может сбрасывать одну и несколько баз MySQL. данных,Создайте резервную копию или перенесите на удаленный SQL-сервер. mysqldump более универсален,Потому что он может создавать резервные копии различных таблиц.
использовать mysqldump Вы можете более гибко управлять содержимым резервной копии. Например, некоторые таблицы или библиотеки можно создавать по отдельности.
mysqlhotcopy работает только с определенными механизмами хранения (MyISAM и ARCHIVE)
Язык кода:javascript
копировать
#Перед началом,Создание библиотек и таблиц,использован в качестве примера
mysql -uroot -p123123
#Введите пароль для входа в базу данные, выше мой пароль
create database SCHOOL;
#Создать библиотеку
use SCHOOL;
create table CLASS01 ( id int(2) not null auto_increment, name varchar(10) not null, sex char(5) not null, hobby varchar(10), primary key (id));
#Создаем структуру таблицы
#Поле первое: идентификатор, максимальная длина отображения 2, не может быть пустым, автоматическое приращение начинается с 1
#Поле второе: имя, поле переменной длины, 10, не может быть пустым
#Третье поле: пол, фиксированная длина 5, не может быть пустым.
#Четвертое поле: хобби, переменная длина, до 10 символов.
#Поле четыре: первичный ключ (id)
insert into CLASS01 values(1,'wangyi','man','reading');
insert into CLASS01 values(2,'wanger','woman','singing');
#Вставляем 2 фрагмента данных
select * from CLASS01;
#проверь это
quit
#quitбаза данных
Язык кода:javascript
копировать
#использовать mysqldump Выполнить полностью на некоторых таблицах резервная копия, формат команды следующий:
mysqldump -u[имя пользователя] -p[пароль] [параметры] [база данныхимя] [имя таблицы данных] > /Путь резервной копии/Имя файла резервной копии.sql
#Экспортированная база файл данныхscript
Пример. Создайте резервную копию класса таблицы в библиотеке SCHOOL в /opt/Оглавление.
mysqldump -uroot -p[пароль] SCHOOL CLASS01 > /opt/test01.sql
Язык кода:javascript
копировать
#Выполнить полное выполнение в некоторых библиотеках резервная копия
mysqldump -uroot -p[пароль] [база данныхимя] > /Оглавление/имя файла резервной копии.sql
пример:
mysqldump -uroot -p123123 SCHOOL > /opt/test02
#Полное проведение работ с несколькими библиотеками резервная копия
mysqldump -uroot -p123123 --databases SCHOOL sys > /opt/test03.sql
#Выполнить полностью для всех библиотек резервная копия
mysqldump -uroot -p123123 --all-databases > /opt/test04.sql
#Непосредственное резервное копирование структуры таблицы
mysqldump -uroot -p123123 -d SCHOOL CLASS01 > /opt/test05.sql
ls /opt/
#Проверьте, успешно ли выполнена команда упаковки и создан ли файл резервной копии
вышеиспользовать Понятно -d опция, указывающая, что только сохранять базу данныхизструктура таблицы,И в таблице только одна библиотека,Вы можете видеть, что таблица (с тем же именем) была удалена первой.,воссоздал это
Удаление и создание — наиболее распространенные команды MySQL. С помощью этих операторов вы можете создать таблицу с той же структурой, что и текущая таблица.
если неиспользовать -d вариант, данные также будут скопированы. Давайте посмотрим, как сохранить данные.
Язык кода:javascript
копировать
cat /opt/test01
Можно увидеть с помощью -d Разница в параметрах в том, что она появляется в конце insert into Заявление, перейти на базу данныхвставить Понятнодве части данных,То есть,Резервное копирование данных — это сохраненная операция вставки оператора.
Благодаря приведенному выше анализу,очень легко понять,резервное копированиеиз По сутидадержатьбаза данных Создавайте операторы текущей структуры таблицы и вставляйте операторы существующих данных, с помощью которых вы можете напрямую восстановить базу Статус данных
2. Полное восстановление MySQL
база была введена ранее данныхизполная резервная копия,использовать mysqldump Инструмент может сохранять инструкции по созданию данных в файле сценария резервного копирования.
когда возникает ошибка,Восстановить их можно следующими способами:
1.Восстановить всю работу базы данных
1.1 исходная команда для восстановления всей базы данных
Язык кода:javascript
копировать
mysql -uroot -p123123
show databases;
drop database SCHOOL;
show databases;
source /opt/test03.sql
#Эта резервная копия, созданная ранее, представляет собой полную резервную копию школьных и системных библиотек.
#Уведомление! Вы должны добавить «--databases» к опции, чтобы иметь полную резервную копию, иначе ее невозможно будет восстановить.
1.2 Команда MySQL для восстановления всей базы данных
Язык кода:javascript
копировать
quit
mysql -uroot -p123123 -e 'drop database SCHOOL;'
mysql -uroot -p123123 -e 'SHOW DATABASES;'
mysql -uroot -p123123 < /opt/test03.sql
mysql -uroot -p123123 -e 'SHOW DATABASES;'
2.Восстановить работу таблицы.
Исходную команду и операцию команды mysql можно использовать для восстановления таблицы данных.
2.1 Используйте команду source для восстановления таблицы
Язык кода:javascript
копировать
mysql -uroot -p123123
use SCHOOL;
show tables;
drop table CLASS01;
source /opt/test01.sql
#Восстановить таблицу
show tables;
select * from CLASS01;
#Проверять
2.2 использовать mysql таблица восстановления команд
Язык кода:javascript
копировать
quit
mysql -uroot -p123123 -e 'SHOW TABLES FROM SCHOOL;'
mysql -uroot -p123123 -e 'DROP TABLES SCHOOL.CLASS01;'
mysql -uroot -p123123 -e 'SHOW TABLES FROM SCHOOL;'
mysql -uroot -p123123 SCHOOL < /opt/test01.sql
mysql -uroot -p123123 -e 'SHOW TABLES FROM SCHOOL;'
Подвести итог
MySQL Резервное копирование необходимо выполнять регулярно, необходимо определить подходящий план или стратегию резервного копирования и строго его соблюдать.
Помимо проведения полной резервная копия, включи MySQL Функция логирования сервера также очень важна, полная резервная копия плюс логи, вы можете MySQL Выполните максимальное восстановление
Имя файла резервной копии также должно быть единым и понятным. При необходимости восстановления базы рекомендуется использовать правило именования, состоящее из имени библиотеки или таблицы. данных можно легко найти соответствующие необходимые файлы резервных копий.
Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/146647.html Исходная ссылка: https://javaforall.cn