IP yandex-а

В категории Подсказки от Апрель 14th, 2012. Автор admin

Вот список IP которые использует Яндекс:

213.180.192

213.180.194

213.180.196

213.180.198

213.180.199

Больше »

Тэги: ,

MYSQLDUMP

В категории Подсказки от Март 25th, 2012. Автор admin

Для того чтобы сохранить резервную копию базы данных MySql принято использовать так называемые дампы. Это текстовый файл содержащий структуру и содержимое базы данных в формате SQL запросов.

 Итак, делаем дамп базы используя консольный клиент mysqldump, зайдя на сервер по ssh. Снимать будем дамп базы user_database с сервера mysql12.leaderhost.ru, логин для доступа к базе у нас user_admin и пароль 12345.

mysqldump -hmysql12.leaderhost.ru -uuser_admin -p12345 user_database > user_database.sql

 Наш дамп будет сохранен в файл user_database.sql. Если Вы ошибетесь в логине или пароле то получите ошибку на подобии этой:

mysqldump: Got error: 1045: Access denied for user ‘user_admin’@’91.195.124.30’ (using password: YES) when trying to connect

Если всё нормально, то никаких сообщений не выдастся. Посмотрим какого размера получился дамп:

 [user@s12 ~]$ du -hs user_database.sql

872K user_database.sql

 Восстанавливаем базу MySql из дампа

 Выше описано как сделать дамп базы MySQL (резервную копию), далее опишем необходимые действия для восстановления базы из дампа.

 Итак, таже база и теже логины/пароли, заходим на сервер по Ssh и выполняем в папке в которой лежит наш дамп. Например дамп user_database.sql лежит в папке сайта hostingfaq.ru.

cd hostingfaq.ru/

mysql -hmysql12.leaderhost.ru -uuser_admin -p12345 user_database < user_database.sql

Ошибки возникающие при работе с дампами

 Не редко, при восстановлении базы из дампа, можно столкнутся с такой ошибкой:

 #1062 — Duplicate entry ‘N?-665’ for key 1

 Зачастую, ошибка возникает из-за того что кодировка таблицы одна, а у данных другая. Что можно поделать? как правило в дампе базы сменить все указатели кодировки на одну. Например, данные в дампе в кодировке cp1251, а где-то встречается указатель на utf8:

 ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

ENGINE=MyISAM DEFAULT CHARSET=cp1251;

 В этом случае просто заменим utf8 на cp1251, сделать это можно вручную в текстовом редакторе с помощью «поиск и замена» или по Ssh

sed -i «s/utf8/cp1251/» user_database.sql

После чего снова попробовать восстановить базу из дампа. Нелишним будет принудительно задать кодировку ключом —default-character-set

mysql —default-character-set=cp1251 -hmysql12.leaderhost.ru -uuser_admin -p12345 user_database < user_database.sql

Другая ошибка может возникать в процессе создания дампа:

mysqldump: Got error: 1044: Access denied for user ‘user_database’@’%’ to database ‘user_database’ when using LOCK TABLES

Обойти её и успешно выполнить дамп поможет ключ —skip-opt

mysqldump —skip-opt -hmysql12.leaderhost.ru -uuser_admin -p12345 user_database > user_database.sql

Тэги: ,

Создание локального репозитория для CentOS

В категории Статьи от Февраль 3rd, 2012. Автор admin

Ставим служебный софт:

yum install -y createrepo

Создаем папку для хранения пакетов:
mkdir -p /var/www/html/repository

Или, если нужно несколько архитектур и версий ПО:
mkdir -p /var/www/html/repository/5/x86_64
mkdir -p /var/www/html/repository/5/i368
mkdir -p /var/www/html/repository/6/x86_64
mkdir -p /var/www/html/repository/6/i386

Синхронизируем наш репозиторий с одни из официальных зеркал CentOS:
rsync -iavrt rsync://ftp.tlk-l.net/pub/mirrors/centos.org/5.7/updates/i386/RPMS/ /var/www/html/repository/5/i368
rsync -iavrt rsync://ftp.tlk-l.net/pub/mirrors/centos.org/5.7/updates/x86_64/RPMS/ /var/www/html/repository/5/x86_64
rsync -iavrt rsync://ftp.tlk-l.net/pub/mirrors/centos.org/6.2/updates/i386/Packages/ /var/www/html/repository/6/i386
rsync -iavrt rsync://ftp.tlk-l.net/pub/mirrors/centos.org/6.2/updates/x86_64/Packages/ /var/www/html/repository/6/x86_64

Запускаем генерацию метаданных репозитория:
createrepo /var/www/html/repository/5/x86_64
createrepo /var/www/html/repository/5/i368
createrepo /var/www/html/repository/6/x86_64
createrepo /var/www/html/repository/6/i386

После этого в каждой папке создастся папка repodata с данными о всех наших пакетах/
Теперь нам необходимо настроить Apache, чтобы указанная папка была полностью доступна по протоколу HTTP.
В итоге получится страница http://repo.domain/repository на которой будут видны папки 5 и 6, далее нужная архитектура и сами пакеты.

Теперь наш репозиторий необходимо подключить к клиентской машинке, создаем файл описание репозитория:
vi /etc/yum.repos.d/myrepo-centos.repo

Вставляем в него следующее:
[myrepo-centos]
name=My Personal Yum Repo
baseurl=http://repo.domain/repository/5/$basearch
enabled=1
# not secure
gpgcheck=0

[myrepo-centos]
name=My Personal Yum Repo
baseurl=http://repo.domain/repository/6/$basearch
enabled=1
# not secure
gpgcheck=0

Запускаем yum update для проверки нашего репозитория.

Если в процессе выполнения команды yum repolist получаем подобную ошибку:
http://updates/repo/centos/5.3/updates/repodata/primary.xml.gz: [Errno -3] Error performing checksum
Trying other mirror.
primary.xml.gz | 376 kB 00:00
http://updates/repo/centos/5.3/updates/repodata/primary.xml.gz: [Errno -3] Error performing checksum
Trying other mirror.
Error: failure: repodata/primary.xml.gz from Updates: [Errno 256] No more mirrors to try.

То исрпвить ее можно персоздав метаданные пакетов такой командой:
createrepo -v -s sha1 /var/www/html/repository/5/x86_64
createrepo -v -s sha1 /var/www/html/repository/5/i368
createrepo -v -s sha1 /var/www/html/repository/6/x86_64
createrepo -v -s sha1 /var/www/html/repository/6/i386

Далее:
$ yum clean all
Loaded plugins: fastestmirror
Cleaning up Everything
Cleaning up list of fastest mirrors

$ yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
Updates | 1.0 kB 00:00
primary.xml.gz | 367 kB 00:00
Updates 634/634
repo id repo name status
Updates Updates enabled : 634
repolist: 634

Тэги: ,