MySqlDumper

Главные вкладки

Аватар пользователя EliteMonk EliteMonk 11 апреля 2011 в 23:20

Оглавление

Ставим MySqlDumper (www.mysqldumper.net), его я использую для переноса баз данных, т.к. один сайт имеет запредельный размер, порядка 500М в несжатом виде, также ставлю на хостинг, там делаю экспорт, здесь импорт.

sudo mkdir /var/www/mysqldumper
sudo ln -s /var/www/mysqldumper ~admin/mysqldumper
sudo chown -R admin:admin /var/www/mysqldumper

Заливаем сюда скрипты, я например через FileZilla это делаю, а не через putty

Сразу поставим права, т.к. этого потребует скрипт установки.

chmod 777 /var/www/mysqldumper/config.php

Добавляем хост

sudo vim /etc/nginx/sites-available/mysqldumper.example.ru

Вставляем примерно следующее

server {
   listen 80;
   server_name msd.example.ru;
   rewrite ^ http://mysqldumper.example.ru$request_uri? permanent; #301 redirect
}

server {
   listen 80;
   server_name mysqldumper.example.ru;
   access_log /var/log/nginx/mysqldumper.example.ru.access.log;

   location / {
     root /var/www/mysqldumper;
     index index.php;
   }

   location ~ \.php$ {
     fastcgi_pass 127.0.0.1:9000;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME /var/www/mysqldumper$fastcgi_script_name;
     include fastcgi_params;
   }
}

Включаем

sudo ln -s /etc/nginx/sites-available/mysqldumper.example.ru /etc/nginx/sites-enabled/mysqldumper.example.ru

И перезагружаем nginx

sudo /etc/init.d/nginx stop && sudo /etc/init.d/nginx start

Открыв в браузере mysqldumper.example.ru увидим install, проходим её. Нажимаем на "Create directory protection" например MD5. Для nginx нужен crypt(3) можно составить например здесь http://www.codeobsessed.com/encryption.php

Открываем файл с паролями и заменяем пароль на полученный через crypt(3)

vim /var/www/mysqldumper/.htpasswd

Но это не работает для nginx сервера, поэтому добавляем в конфиг

sudo vim /etc/nginx/sites-available/mysqldumper.example.ru

следующее

auth_basic "Restricted";
auth_basic_user_file /var/www/mysqldumper/.htpasswd;

т.е. получится примерно так

server {
   listen 80;
   server_name mysqldumper.example.ru;
   access_log /var/log/nginx/mysqldumper.example.ru.access.log;

   auth_basic "Restricted";
   auth_basic_user_file /var/www/mysqldumper/.htpasswd;

  ...

И снова перезагружаем nginx

sudo /etc/init.d/nginx stop && sudo /etc/init.d/nginx start

Комментарии

Аватар пользователя EliteMonk EliteMonk 17 мая 2011 в 18:04

Ну из личного опыта большая база не взялась никак кроме как через этот скрипт, 50 гиг база и сайт на друпал о_О ну чтож каждому бы такой проект, а не банальный интернет магазин Smile