Mysql
 sql >> база данни >  >> RDS >> Mysql

Създайте физически архиви на вашите MariaDB или MySQL бази данни

Докато mysqldump инструментът е предпочитаният метод за архивиране за база данни на MariaDB или MySQL или система за бази данни, той работи само когато сървърът на базата данни е достъпен и работи. Ако базата данни не може да бъде стартирана или хост системата е недостъпна, тя все още може да бъде копирана директно.

физическо архивиране често е необходимо в ситуации, когато имате достъп само до среда за възстановяване (като Finnix), където монтирате дисковете на вашата система като външни устройства за съхранение. Ако искате да прочетете за логически архиви използвайки mysqldump ,вижте нашето ръководство по темата.

За опростяване името MySQL ще се използва в това ръководство, но инструкциите ще работят както за MySQL, така и за MariaDB.

Забележка Стъпките в това ръководство изискват root привилегии. Влезте като root потребител с su - преди да започнете.

Създайте резервно копие

  1. Ако не работите в режим на възстановяване (сесия на Finnix), спрете mysql услуга:

    systemctl stop mysql
    
  2. Намерете директорията на вашата база данни. Трябва да бъде /var/lib/mysql/ на повечето системи, но ако тази директория не съществува, проверете /etc/mysql/my.cnf за път до директорията с данни.

  3. Създайте директория за съхранение на вашите архиви. Това ръководство ще използва /opt/db-backups но можете да промените това, за да отговаря на вашите нужди:

    mkdir /opt/db-backups
    
  4. Копирайте директорията с данни на MySQL в място за съхранение. cp команда, rsync , или други методи ще работят добре, но ще използваме tar за рекурсивно копиране и gzip архивиране наведнъж. Променете директорията на базата данни, името на архивния файл и целевата директория, ако е необходимо; -$(date +%F) допълнение към командата ще вмъкне времева марка в името на файла.

    tar cfvz /opt/db-backups/db-$(date +%F).tar.gz /var/lib/mysql/*
    
  5. Рестартирайте услугата MySQL:

    systemctl restart mysql
    

Възстановяване на резервно копие

  1. Променете работната си директория на място, където можете да извлечете създадения по-горе tarball. Домашната директория на текущия потребител се използва в този пример:

    cd
    
  2. Спрете mysql услуга:

    systemctl stop mysql
    
  3. Извлечете tarball-а в работната директория. Променете името на файла на tarball в командата на това с датата, на която искате да възстановите.

     tar zxvf /opt/db-backups/db-archive.tar.gz -C .
    
  4. Преместете текущото съдържание на /var/lib/mysql на друго място, ако искате да ги запазите по някаква причина или да ги изтриете изцяло. Създайте нов празен mysql папка, в която да възстановите архивирания си DMBS.

    mv /var/lib/mysql /var/lib/mysql-old
    mkdir /var/lib/mysql
    
  5. Копирайте архивираната система от база данни в празната папка:

    mv ~/var/lib/mysql/* /var/lib/mysql
    
  6. Задайте правилните разрешения за файловете, които току-що възстановихте:

    chown -R mysql:mysql /var/lib/mysql
    
  7. Рестартирайте услугата MySQL:

    systemctl restart mysql
    

Повече информация

Може да пожелаете да се консултирате със следните ресурси за допълнителна информация по тази тема. Въпреки че те са предоставени с надеждата, че ще бъдат полезни, моля, имайте предвид, че не можем да гарантираме за точността или навременността на външно хостваните материали.

  • Общ преглед на архивиране и възстановяване; Библиотека MariaDB
  • Методи за архивиране на бази данни; Справочно ръководство за MySQL

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql_insert_id безопасен ли е за използване?

  2. Как да получите датата от колона Datetime в MySQL

  3. MySQL:Предоставяне на **всички** привилегии на база данни

  4. DONTs и DONTs за индекси

  5. Съхранение на файлове в база данни срещу файлова система