0

MySQL шпаргалки

Часто, когда разрабатываешь сайт, замечаешь, как на одни и те же грабли наступают разработчики при проектировании базы данных.
Сегодня я решил опубликовать свои шпаргалки, на самые часто встречающиеся ошибки при работе с MySQL.

Работа с бекапами

Делаем бекап
mysqldump -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql
Создаём структуру базы без данных
mysqldump --no-data - u USER -pPASSWORD DATABASE > /path/to/file/schema.sql
Заливаем бекап в базу данных
mysql -u USER -pPASSWORD DATABASE < /path/to/dump.sql
Создаём бекап и сразу его архивируем
mysqldump -u USER -pPASSWORD DATABASE | gzip > /path/to/outputfile.sql.gz
Заливаем архив бекапа в базу
gunzip < /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE
Создаём новую базу данных
mysqladmin -u USER -pPASSWORD create NEWDATABASE
Удобно использовать бекап с дополнительными опциями -Q -c -e, т.е.
mysqldump -Q -c -e -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql, где:

  • -Q оборачивает имена обратными кавычками
  • -c делает полную вставку, включая имена колонок
  • -e делает расширенную вставку. Итоговый файл получается меньше и делается он чуть быстрее

Continue Reading

0

Система виртуализации OpenVZ

Илья Евсеев, системный администратор, ООО "Икс-Трим"

Описание:  В первой статье цикла мы сравним OpenVZ с аналогичными решениями, а также расскажем об архитектуре и установке этой системы виртуализации. Во второй статье немного поговорим об использовании OpenVZ.

Назначение систем виртуализации

Виртуализация – это термин, обозначающий, в частности, имитацию отдельного компьютера и/или отдельной операционной системы с помощью специального программного обеспечения.

В настоящее время виртуализация популярна по нескольким причинам.

Во-первых, она уменьшает потребность в физических компьютерах, так как одна машина получает возможность одновременно выполнять несколько разнотипных операционных систем. При этом улучшается утилизация вычислительных ресурсов, так как для большинства задач современное оборудование обладает избыточной мощностью.

Continue Reading

0

Установка php-frm+nginx на Ubuntu

Для установки указанной связки на Debian будет использоваться репозиторий Ubuntu. Дело рискованное. У меня запустилось и это хорошо.

Работы выполнял из под рутового аккаунта
1. Установка nginx
apt-get install nginx

2. Добавление обработки PHP в конфигурационный файл nginx
Использую конфигурационный файл по-умолчанию (/etc/nginx/sites-available/default)
Убрал комментарии со следующих строк:
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param script_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

3. Добавление репозитория
echo "deb php53.dotdeb.org stable all" >> /etc/apt/sources.list

4. Обновление репозитория
apt-get update

5. Установка PHP
Выполняется в два этапа
sudo apt-get install php5-cli php5-common php5-suhosin

sudo apt-get install php5-fpm php5-cgi

6. Запуск
/etc/init.d/nginx restart
/etc/init.d/php5-fpm restart

7. Проверка
echo '<?phpinfo()?>' > /var/www/nginx-default/phpinfo.php

и открываем в браузере IP-адрес_сервера/phpinfo.php
Перевел: copst
Оригинал: http://www.howtoforge.com/installing-php-5.3-nginx-and-php-fpm-on-ubuntu-debian

0

Копирование баз данных MySql в архив

Просто:

> mysqldump -uLOGIN -PPORT -hHOST -pPASS DBNAME > dump.txt 

В unix shell запускаем crontab -e и создаем такое правило запуска процесса создания копий базы:

0 0 * * * mysqldump -uLOGIN -PPORT -hHOST -pPASS DBNAME
	| gzip -c > `date "+%Y-%m-%d"`.gz 

Сложно:

Копирование баз данных MySql в архив — помошь, скрипты, примеры

Простой способ для /bin/sh (Запуск из коммандной строки SSH)

Код для скрипта:

#!/bin/sh
data=`/bin/date +%d.%m.%Y_%H-%M-%s`
#копирование данных из MySql в текстовый файл
/usr/local/bin/mysqldump --all-databases --user=NAME --password=PASS > /home/USER-NAME/sql-dump.sql

#превращает текстовый файл в архив
/usr/bin/gzip --best /home/USER-NAME/sql-dump.sql

#Перемещает файл sql-dump.sql в sql-dump_${data}.sql.gz
/bin/mv sql-dump.gz sql-dump_${data}.gz

Continue Reading

0

Nginx + apache2 – установите правильный порт!

Поставив CMS Livestreet на Выжить!, столкнулся с проблемой не работющих комментариев. Как оказалось проблема в связке Nginx+Apache.

Никогда бы не подумал, но факт остается фактом, правильнее настраивать так, что бы апач отдавал контент для nginx по порту: 8080!!!

Я не не первый, кто с такой проблемой столкнулся:
http://livestreet.ru/blog/sites/523.html#comment12930

Проблема как выяснилось в работе, а точнее отсутствия работы Ajax хендлера из-за php session id. Лично у меня в фаербаге было видно что nginx отдавал 502 ошибку, вместо контента 🙁

0

Настройка apache 2 + nginx + php 5 + MySQL + memcached + eaccelerator + sphinx в Ubuntu

Итак сегодня я раскажу вам как поднять Веб сервер на маломощном компьютере или VDS / VPS
Мной был взят сервер VDS в конфигурации CPU 480 MHz, RAM 256 Mb, HDD 8 Gb (Ubuntu Server 9.04).

 http://rubuntu.ru/blog/server/435/nastrojka-apache-2-nginx-php-5-mysql-memcached-eaccelerator-sphinx-v-ubuntu.html

0

Как перенести сайт с сервера на сервер

Самый правильный перенос — это:
1. через консоль запаковать все файлы:
$ tar czf bitrix_folder.tar.gz bitrix_folder
2. запаковать базу данных:
$ mysqldump -u root -h localhost -pmypassword database_name | gzip -9 > database_name.sql.gz
3. Перенести файлы на целевой сервер
4. Распаковать файлы:
$ tar xzf bitrix_folder.tar.gz — файлы
$ gzip -d file.gz — базу

5. залить базу данны:
http://www.doless.ru/kak-bystro-vosst…mysql.html
6. Вписать новые (если необходимо) данные о соединении с базой данных, у битрикса это тут: /bitrix/php_interface/dbconn.php