Backup db — различия между версиями

Материал из pNp Wiki
Перейти к: навигация, поиск
(Новая страница: «== Резервное копирование и восстановление баз данных MariaDB == ==== Предварительные требован…»)
 
Строка 6: Строка 6:
  
 
== Резеврное копирование базы данных MariaDB ==
 
== Резеврное копирование базы данных MariaDB ==
Вначале поглядим, какие базы данных у нас уже имеются и создадим свою:
+
Вначале создадим пользователя <code>backup</code>, а затем, назначим ему права, что бы он мог копировать базы данных полностью:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 +
MariaDB [(none)]> create user 'backup'@'%' identified by 'backup';
 +
Query OK, 0 rows affected (0.00 sec)
  
 +
MariaDB [(none)]> grant SELECT, SHOW VIEW, RELOAD, REPLICATION CLIENT, EVENT, TRIGGER, DROP, ALTER, INSERT, UPDATE, LOCK TABLES ON *.* TO 'backup'@'%';
 +
Query OK, 0 rows affected (0.00 sec)
 +
 +
MariaDB [(none)]>
 +
</syntaxhighlight>
 +
Проверим пользователя и права:
 +
<syntaxhighlight lang="bash">
 +
MariaDB [(none)]> select * from mysql.user where User='backup'\G
 +
*************************** 1. row ***************************
 +
                  Host: %
 +
                  User: backup
 +
              Password: *1827DC630AAEB1E997DB2B212CC94EFD9C431555
 +
          Select_priv: Y
 +
          Insert_priv: Y
 +
          Update_priv: Y
 +
          Delete_priv: N
 +
          Create_priv: N
 +
            Drop_priv: Y
 +
          Reload_priv: Y
 +
        Shutdown_priv: N
 +
          Process_priv: N
 +
            File_priv: N
 +
            Grant_priv: N
 +
      References_priv: N
 +
            Index_priv: N
 +
            Alter_priv: Y
 +
          Show_db_priv: N
 +
            Super_priv: N
 +
Create_tmp_table_priv: N
 +
      Lock_tables_priv: Y
 +
          Execute_priv: N
 +
      Repl_slave_priv: N
 +
      Repl_client_priv: Y
 +
      Create_view_priv: N
 +
        Show_view_priv: Y
 +
  Create_routine_priv: N
 +
    Alter_routine_priv: N
 +
      Create_user_priv: N
 +
            Event_priv: Y
 +
          Trigger_priv: Y
 +
Create_tablespace_priv: N
 +
              ssl_type:
 +
            ssl_cipher:
 +
          x509_issuer:
 +
          x509_subject:
 +
        max_questions: 0
 +
          max_updates: 0
 +
      max_connections: 0
 +
  max_user_connections: 0
 +
                plugin:
 +
authentication_string:
 +
1 row in set (0.00 sec)
 +
 +
MariaDB [(none)]>
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
Далее, необходимо применить изменения:
 +
<syntaxhighlight lang="bash">
 +
MariaDB [(none)]> flush privileges;
 +
Query OK, 0 rows affected (0.00 sec)
  
 +
MariaDB [(none)]>
 +
</syntaxhighlight>
 +
Сохраним базу данных на виртуальную машину <code>vm-02</code>:
 +
<syntaxhighlight lang="bash">
 +
[root@vm-02 ~]# mysqldump -u backup -pbackup -h 192.168.1.1 --all-databases > /root/whole_db.dmp
 +
[root@vm-02 ~]# echo $?
 +
0
 +
[root@vm-02 ~]# ls -lahi /root/whole_db.dmp
 +
80942667 -rw-r--r--. 1 root root 504K Mar 13 16:27 /root/whole_db.dmp
 +
[root@vm-02 ~]#
 +
</syntaxhighlight>
  
 
== Ссылки ==
 
== Ссылки ==
 
[https://mariadb.com/kb/en/library/backup-and-restore-overview/ Backup and Restore MariaDB]
 
[https://mariadb.com/kb/en/library/backup-and-restore-overview/ Backup and Restore MariaDB]

Версия 15:52, 13 марта 2018

Резервное копирование и восстановление баз данных MariaDB

Предварительные требования

  • Виртуальная машина с двумя сетевыми интерфейсами
  • Установленные пакеты: bash-completion, mariadb-server, mariadb

Резеврное копирование базы данных MariaDB

Вначале создадим пользователя backup, а затем, назначим ему права, что бы он мог копировать базы данных полностью:

MariaDB [(none)]> create user 'backup'@'%' identified by 'backup';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> grant SELECT, SHOW VIEW, RELOAD, REPLICATION CLIENT, EVENT, TRIGGER, DROP, ALTER, INSERT, UPDATE, LOCK TABLES ON *.* TO 'backup'@'%';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>

Проверим пользователя и права:

MariaDB [(none)]> select * from mysql.user where User='backup'\G
*************************** 1. row ***************************
                  Host: %
                  User: backup
              Password: *1827DC630AAEB1E997DB2B212CC94EFD9C431555
           Select_priv: Y
           Insert_priv: Y
           Update_priv: Y
           Delete_priv: N
           Create_priv: N
             Drop_priv: Y
           Reload_priv: Y
         Shutdown_priv: N
          Process_priv: N
             File_priv: N
            Grant_priv: N
       References_priv: N
            Index_priv: N
            Alter_priv: Y
          Show_db_priv: N
            Super_priv: N
 Create_tmp_table_priv: N
      Lock_tables_priv: Y
          Execute_priv: N
       Repl_slave_priv: N
      Repl_client_priv: Y
      Create_view_priv: N
        Show_view_priv: Y
   Create_routine_priv: N
    Alter_routine_priv: N
      Create_user_priv: N
            Event_priv: Y
          Trigger_priv: Y
Create_tablespace_priv: N
              ssl_type: 
            ssl_cipher: 
           x509_issuer: 
          x509_subject: 
         max_questions: 0
           max_updates: 0
       max_connections: 0
  max_user_connections: 0
                plugin: 
 authentication_string: 
1 row in set (0.00 sec)

MariaDB [(none)]>

Далее, необходимо применить изменения:

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>

Сохраним базу данных на виртуальную машину vm-02:

[root@vm-02 ~]# mysqldump -u backup -pbackup -h 192.168.1.1 --all-databases > /root/whole_db.dmp
[root@vm-02 ~]# echo $?
0
[root@vm-02 ~]# ls -lahi /root/whole_db.dmp 
80942667 -rw-r--r--. 1 root root 504K Mar 13 16:27 /root/whole_db.dmp
[root@vm-02 ~]#

Ссылки

Backup and Restore MariaDB