<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Одминский блог &#187; mysql</title>
	<atom:link href="http://odminblog.ru/label/mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://odminblog.ru</link>
	<description>Блог о технологиях, технократии и методиках борьбы с граблями</description>
	<lastBuildDate>Fri, 03 Feb 2012 14:32:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Разблокировка бана IP адреса в cpanel</title>
		<link>http://odminblog.ru/razblokirovka-bana-ip-adresa-v-cpanel/</link>
		<comments>http://odminblog.ru/razblokirovka-bana-ip-adresa-v-cpanel/#comments</comments>
		<pubDate>Sun, 23 Oct 2011 23:48:41 +0000</pubDate>
		<dc:creator>anchous</dc:creator>
				<category><![CDATA[IT безопасность]]></category>
		<category><![CDATA[Хостинг]]></category>
		<category><![CDATA[cpanel]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[хостинг]]></category>

		<guid isPermaLink="false">http://odminblog.ru/?p=1647</guid>
		<description><![CDATA[Как то я тут распинался на тему защиты собственного хостинга под Cpanel WHM от брутфорса в том числе, через утилиту админки cPHulk Brute Force Protection, которая банит IP адреса, в случае произвести с них атаку брута. Но оказалось, что у этой защиты есть очень не приятный момент, благодаря которому хостинг в один прекрасный момент может, [...]]]></description>
			<content:encoded><![CDATA[<p>Как то я тут распинался на тему <a href="http://odminblog.ru/povyshaem-bezopasnost-veb-servera-s-pomoshhyu-cpanel/">защиты собственного хостинга под Cpanel WHM</a> от брутфорса в том числе, через утилиту админки cPHulk Brute Force Protection, которая банит IP адреса, в случае произвести с них атаку брута. Но оказалось, что у этой защиты есть очень не приятный момент, благодаря которому хостинг в один прекрасный момент может, подобно Юлию Цезарю, сказать тебе: <em>Et tu quoque, Brute!</em>© и отрубить доступ к аккаунту вообще для всех, кроме адресов внесенных в белый список. Результатом чего станет отсутствие возможности залогиниться в админку и на сервак, через любой из протоколов: http, ssh, ftp и даже почтовую программу.</p>
<p>И именно поэтому необходимо дать доступ нескольким доверенным IP адресам, занеся их в белый список доверенных IP. В моем случае я дал доступ паре терминальных серверов, к которым имею доступ, двум <a title="купить прокси" href="http://odminblog.ru/lf-anonimnyj-proksi-server-pod-seo-soft/">купленным прокси серверам</a>, а также к консоли еще пары серваков, которые удаленно администрирую по ssh. Ибо если у вас нет доступного терминального сервера, или же вы не можете использовать доверенный прокси сервер, то можно дать доступ хотя бы на какой нибудь собственный VPS с которого и можно разблокировать доступ к Cpanel WHM используя командную строку, путем обнуления базы брута.</p>
<p>Делается это следующим образом. Заходим в консоль, а дальше залезаем в командную строку мускуля:<br />
<strong># mysql<br />
mysql&gt; use cphulkd;<br />
mysql&gt;BACKUP TABLE `brutes` TO &#8216;/path/to/backup_file&#8217;;<br />
</strong>Смотрим что вообще у нас есть в базе бана брута<br />
<strong>mysql&gt; SELECT * FROM `brutes`;</strong><br />
После этого, если список большой, то выбираем из базы свой IP и удаляем его<br />
<strong>mysql&gt; SELECT * FROM `brutes` WHERE `IP`=&#8217;X.X.X.X&#8217;;<br />
mysql&gt; DELETE FROM `brutes` WHERE `IP`=&#8217;X.X.X.X&#8217;;<br />
mysql&gt;\q</strong></p>
<p>Узнать свой IP можно либо трейсом, либо зайдя на рутер либо воспользовавшись любым из многочисленных сервисов, определяющих IP адрес- ну хотя бы этот: <a rel="nofollow" href="http://odminblog.ru/links/go.php?url=http://www.whatismyip.com/" target="_blank">WhatIsMyIP</a></p>
<div id="crp_related"><h3>Читать еще:</h3><ul><li><a href="http://odminblog.ru/kak-importirovat-bolshu-bazu-dannyx-v-mysql/" rel="bookmark" class="crp_title">Как импортировать большую базу данных в mysql</a></li><li><a href="http://odminblog.ru/ustanovka-servera-baz-dannyx-mysql-na-centos/" rel="bookmark" class="crp_title">Установка сервера баз данных mySQL на CentOS</a></li><li><a href="http://odminblog.ru/nastrojka-skriptov-dlya-importa-baz-dannyx-v-mysql/" rel="bookmark" class="crp_title">Настройка скриптов для импорта баз данных в mysql</a></li><li><a href="http://odminblog.ru/restore-joomla-password-to-mysql/" rel="bookmark" class="crp_title">Восстановление пароля Joomla к MySQL</a></li><li><a href="http://odminblog.ru/nastrojka-mozilla-firefox-na-ispolzovanie-logina-proksi-servera/" rel="bookmark" class="crp_title">Настройка Mozilla Firefox на использование логина прокси сервера</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://odminblog.ru/razblokirovka-bana-ip-adresa-v-cpanel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Настраиваем MySQL для работы на VPS с 512Mb RAM</title>
		<link>http://odminblog.ru/nastraivaem-mysql-dlya-raboty-na-vps-s-512mb-ram/</link>
		<comments>http://odminblog.ru/nastraivaem-mysql-dlya-raboty-na-vps-s-512mb-ram/#comments</comments>
		<pubDate>Sat, 08 Oct 2011 00:48:57 +0000</pubDate>
		<dc:creator>anchous</dc:creator>
				<category><![CDATA[Базы данных]]></category>
		<category><![CDATA[Сайты и их проблемы]]></category>
		<category><![CDATA[Хостинг]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[сайты]]></category>
		<category><![CDATA[хостинг]]></category>

		<guid isPermaLink="false">http://odminblog.ru/?p=1631</guid>
		<description><![CDATA[Прикупил я тут клиенту хостинг под его новый сайт. Поскольку была необходимость в прикручивании библиотеки ffmpeg на сайт под Drupal, для того чтобы видюшки конвертились сами во флешки при добавлении, хотя для меня это не убедительно, так как на локальном компе можно нормально законвертить ручками. Ну вообщем по причине наличия ffmpeg решил взять самый дешевый [...]]]></description>
			<content:encoded><![CDATA[<p>Прикупил я тут клиенту хостинг под его новый сайт. Поскольку была необходимость в прикручивании библиотеки ffmpeg на сайт под Drupal, для того чтобы видюшки конвертились сами во флешки при добавлении, хотя для меня это не убедительно, так как на локальном компе можно нормально законвертить ручками. Ну вообщем по причине наличия ffmpeg решил взять самый дешевый <a href="http://odminblog.ru/hostings/burstnet/">VPS за 5,95$ у Burst.NET</a> с 512 оперативы, 1MHz, 20Gb HDD, 10Tb трафа и 2IP + Direct Admin за 7$, так как настраивать руками меня ломало.</p>
<p>Взять то я его взял, но вебмастера не могли ничего делать, так как на любую операцию система ругалась:<br />
<strong>ERROR 1135 (HY000): Can&#8217;t create a new thread (errno 11); if you are not out of available memory</strong><strong><br />
gzip: error while loading shared libraries: cannot create cache for search path: Cannot allocate memory</strong><br />
подключившись, я обнаружил что при попытке логина по ssh вылетала ошибка:<br />
<strong>bash: fork: Cannot allocate memory</strong></p>
<p><strong><span id="more-1631"></span></strong>То бишь сделать ничего мог, так что отписался суппорту, что вот есть проблема с серваком. так что решите плиз. Суппорт же начал меня грузить на предмет того, что мне надо с апгрейтиться до 1Gb чтобы у меня все стало отлично, так как ось и Direct Admin отжирают все 512Mb. Я же давил на то, что top, к которому я таке смог пробиться показывает что занято всего 42% памяти и значит парни не тока оверселят, но еще и оверлодят память.</p>
<p>В таком духе мы препирались часов 5, поскольку мне некогда было лезть и особо разбираться. Я пару раз обложил в сердцах суппорт матюгами, после чего они начинали шевелиться быстрее, но все равно начинали втулять мне необходимость покупки 1Gb. Хотя по началу я хотел забрать бабло, накатать абузу в палку, в итоге во втором часу решил все таки глянуть более предметно, что происходит. Кстати в этом ключе- суппорт вещь такая- буквально в парралель  меня упал мой VPS и если честно я решил что это месть Burst, но оказалось что там была проблема с диском и другой чувак мне все замечательно и быстро решил, тем более что я конечно нервничал, так как буквально на этой неделе запилил два симпотных сайта, а бэкап датировался естественно началом сентября. <img src='http://odminblog.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Ну вообщем сунулся кое как в сервак и понял, что мускуль кушает под себя 360Mb, так как грузится без файла конфигурации. Уж не знаю- толи забыли создать при первоначальной настройке, толи удалили в сердцах вебмастера, но пришлось озадачиться тюнингом MySQL под сервер с 512M, поместив в файл /etc/my.cnf следующие строки:<br />
<strong>[mysqld]<br />
local-infile=0<br />
socket = /var/lib/mysql/mysql.sock<br />
max_connections=300<br />
slow-query-log<br />
query_cache_limit=16M<br />
query_cache_size=32M<br />
key_buffer=16M<br />
sort_buffer=64M<br />
read_buffer = 2M<br />
read_rnd_buffer_size = 768k<br />
read_buffer_size=64M<br />
max_allowed_packet=16M<br />
thread_stack = 128K<br />
skip-innodb<br />
table_cache = 64M</strong><br />
Поскольку у меня оказалась InnoDB (правда не совсем понятно с какой целью мне ее прикрутили, хотя вебмастеров по форумам я именно ей и пугал при разговорах о горячем бэкапе), то пришлось поиграться с её параметрами, так как стандартные в 50-80% от RAM для innodb_buffer_pool_size забивали систему под 500 Mb, и в этом случае параметр skip-innodb убирается<br />
<strong>innodb_buffer_pool_size=16M<br />
innodb_additional_mem_pool_size=8M<br />
</strong><br />
После перезагрузки система зашуршала, отбирая под себя 440Mb.</p>
<p>Пришлось еще повыкидывать несколько параметров, так что файл приобрел вид:<br />
<strong>[mysqld]<br />
local-infile=0<br />
max_connections=300<br />
read_buffer_size=1M<br />
sort_buffer=1M<br />
log-slow-queries<br />
query_cache_limit=256K<br />
key_buffer=1M<br />
innodb_buffer_pool_size=16M<br />
innodb_additional_mem_pool_size=8M<br />
max_allowed_packet=16M<br />
</strong><br />
После чего система стартанула уже с 350Mb, с которыми уже можно было в принципе жить.</p>
<p>Хостинг конечно хороший, но как попадешь на тупаря в суппорте, так хоть стой, хоть падай.</p>
<div id="crp_related"><h3>Читать еще:</h3><ul><li><a href="http://odminblog.ru/ustanovka-servera-baz-dannyx-mysql-na-centos/" rel="bookmark" class="crp_title">Установка сервера баз данных mySQL на CentOS</a></li><li><a href="http://odminblog.ru/novyj-xosting-novye-problemy/" rel="bookmark" class="crp_title">Новый хостинг, новые проблемы</a></li><li><a href="http://odminblog.ru/pereezd-na-novyj-xosting-burst-net/" rel="bookmark" class="crp_title">Переезд на новый хостинг Burst.NET</a></li><li><a href="http://odminblog.ru/mysql-server-install/" rel="bookmark" class="crp_title">Установка сервера БД MySQL</a></li><li><a href="http://odminblog.ru/restore-joomla-password-to-mysql/" rel="bookmark" class="crp_title">Восстановление пароля Joomla к MySQL</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://odminblog.ru/nastraivaem-mysql-dlya-raboty-na-vps-s-512mb-ram/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Настройка скриптов для импорта баз данных в mysql</title>
		<link>http://odminblog.ru/nastrojka-skriptov-dlya-importa-baz-dannyx-v-mysql/</link>
		<comments>http://odminblog.ru/nastrojka-skriptov-dlya-importa-baz-dannyx-v-mysql/#comments</comments>
		<pubDate>Sun, 17 Jul 2011 14:27:54 +0000</pubDate>
		<dc:creator>anchous</dc:creator>
				<category><![CDATA[Базы данных]]></category>
		<category><![CDATA[Сайты и их проблемы]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[сайты]]></category>
		<category><![CDATA[техподдержка]]></category>

		<guid isPermaLink="false">http://odminblog.ru/?p=1374</guid>
		<description><![CDATA[Данный пост является продолжением темы с импортом больших баз данных в mysql и здесь я расскажу как именно надо настроить скрипт для импорта базы данных.
Процедура установки обоих скриптов проста и начинается с их редактирования, после чего скрипты закачиваются на хост, куда, в ту же папку, кладется и выгрузка из базы данных, которую нам необходимо импортировать [...]]]></description>
			<content:encoded><![CDATA[<p>Данный пост является продолжением <a title="импортирование больших баз данных в mysql" href="http://odminblog.ru/kak-importirovat-bolshu-bazu-dannyx-v-mysql/">темы с импортом больших баз данных в mysql</a> и здесь я расскажу как именно надо настроить скрипт для импорта базы данных.</p>
<p>Процедура установки обоих скриптов проста и начинается с их редактирования, после чего скрипты закачиваются на хост, куда, в ту же папку, кладется и выгрузка из базы данных, которую нам необходимо импортировать в новую базу на сервере mysql. На скрипт устанавливаем права доступа 755.<br />
Теперь немного подробнее о настройке каждой из программ:</p>
<p><strong>1. BigDump</strong><br />
Открываем файл скрипта bigdump.php, в котором отыскиваем и меняем следующие строки на необходимые значения<br />
$db_server   = &#8216;localhost&#8217;;<br />
$db_name     = &#8216;DB_NAME&#8217;;<br />
$db_username = &#8216;DB_USER&#8217;;<br />
$db_password = &#8216;DB_PASSWORD&#8217;;<br />
$filename           = &#8216;OUR_DUMP.SQL&#8217;; /* Наш дамп базы данных который мы выгрузили вместе со скриптом*/<br />
$db_connection_charset = &#8216;Charset&#8217;; /*Поскольку мы работаем с русскими базами, то вероятнее всего это utf8 или cp1251*/</p>
<p>После этого открываем в бродилке скрипт хттп://наш-сайт/папка/bigdump.php и видим свой файлец, после чего наживаем на линк Start import</p>
<p><strong>2. Sypex Dumper</strong><br />
С этим скриптом еще проще, так как у него есть графический интерфейс, через который можно вводить все данные, а также делать экспорт и импорт баз данных. Собственно заливаем файлец скрипта dumper.php на хостинг, но с одной оговоркой- опять же в плане кодировок. По умолчанию скрипт работает с cp1251, так что если надо залить utf-8, то добавляем в следующую строку параметр принудительной замены кодировки:<br />
define(&#8216;RESTORE_CHARSET&#8217;, &#8216;forced-&gt;utf8&#8242;);</p>
<p>После чего коннектимся через бродилку хттп://наш-сайт/папка/dumper.php<br />
вводим логин на базу данных сайта и получаем возможность как импортировать нужную нам базу данных, так и экспортировать.</p>
<div id="crp_related"><h3>Читать еще:</h3><ul><li><a href="http://odminblog.ru/kak-importirovat-bolshu-bazu-dannyx-v-mysql/" rel="bookmark" class="crp_title">Как импортировать большую базу данных в mysql</a></li><li><a href="http://odminblog.ru/ustanovka-servera-baz-dannyx-mysql-na-centos/" rel="bookmark" class="crp_title">Установка сервера баз данных mySQL на CentOS</a></li><li><a href="http://odminblog.ru/defrag-innodb/" rel="bookmark" class="crp_title">Дефрагментация и сжатие InnoDB</a></li><li><a href="http://odminblog.ru/ustanovka-neskolkix-cms-na-odnu-bazu-dannyx/" rel="bookmark" class="crp_title">Установка нескольких CMS на одну базу данных</a></li><li><a href="http://odminblog.ru/sozdanie-rezervnoj-kopii-sajta-cherez-ftp/" rel="bookmark" class="crp_title">Создание резервной копии сайта через ftp</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://odminblog.ru/nastrojka-skriptov-dlya-importa-baz-dannyx-v-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как импортировать большую базу данных в mysql</title>
		<link>http://odminblog.ru/kak-importirovat-bolshu-bazu-dannyx-v-mysql/</link>
		<comments>http://odminblog.ru/kak-importirovat-bolshu-bazu-dannyx-v-mysql/#comments</comments>
		<pubDate>Sun, 17 Jul 2011 13:22:21 +0000</pubDate>
		<dc:creator>anchous</dc:creator>
				<category><![CDATA[Базы данных]]></category>
		<category><![CDATA[Сайты и их проблемы]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[сайты]]></category>
		<category><![CDATA[техподдержка]]></category>

		<guid isPermaLink="false">http://odminblog.ru/?p=1370</guid>
		<description><![CDATA[Бывает возникает ситуация, в которой необходимо загрузить на сервер хостинга базу данных больше разрешенного хостингом в утилите управления базами данных phpMyAdmin- обычно этот предел установлен в  ~2Mb. Если это случается на виртуале, то обычно просто заливаю базу через ftp и прошу суппорт хостинга помочь в данном вопросе.
Поскольку использую нормальные хостинги, то решение это проблемы занимает [...]]]></description>
			<content:encoded><![CDATA[<p>Бывает возникает ситуация, в которой необходимо загрузить на сервер хостинга базу данных больше разрешенного хостингом в утилите управления базами данных phpMyAdmin- обычно этот предел установлен в  ~2Mb. Если это случается на виртуале, то обычно просто заливаю базу через ftp и прошу суппорт хостинга помочь в данном вопросе.</p>
<p>Поскольку использую нормальные хостинги, то решение это проблемы занимает всего 10-15 минут, так что особо не парился, но тут столкнулся с тем что возникла необходимость подсказать человеку у которого суппорт курил бамбук, так что выделилось несколько вариантов решения данной проблемы. Оговорюсь сразу что наиболее удобен для импорта базы данных mysql последний вариант, но он подходит только тем у кого есть доступ к терминалу. Так что в статье описаны все возможные способы импорта большой базы данных в mysql, кроме общения с суппортом.</p>
<p>1. Варинт первый &#8211; выгружаем бэкап базы не целиком, а по несколько таблиц, чтобы файл не превышал наши лимиты. Основной минус данного решения- это то, что операцию выгрузки- загрузки необходимо будет проводить много раз, так что подойдет исключительно для тех у кого много свободного времени и нечем заняться на досуге.</p>
<p>2. Вариант второй &#8211; выгружать в пожатом состоянии- так как степень сжатия для текстового файла будет максимальной. Но тут опять же можно столкнуться с тем, что на хостинге не установлена поддержка архиваторов.</p>
<p>3. Используем сторонний скрипт, который позволяет производить экспорт и импорт базы данных, минуя общение с phpMyAdmin. Наиболее известный из имеющихся в наличии, и к тому же наиболее хорошо работающий- это <a rel="nofollow" href="http://odminblog.ru/links/go.php?url=http://www.ozerov.de/bigdump/" target="_blank">BigDump</a>. О том как его настроить &#8211; я <a title="настройка скриптов для импорта базы данных" href="http://odminblog.ru/nastrojka-skriptov-dlya-importa-baz-dannyx-v-mysql/">отписался чуть позже</a>, так что это касается и настройки по 5му пункту.</p>
<p>4. Как частный случай 3 вариант, возможно залить на сервер эмулятор терминала и сделать 5 пункт через него. Например можно попробовать PHPterm, но в этом варианте можно столкнуться с ограничениями хостинга в плане безопасности запуска команд и скриптов.</p>
<p>5. Также есть простенькая программка аналогичная BigDump, которая также позволяет импортировать большие базы данных, только в данном случае необходим Zend Optimizer либо Nu-Coder. Программка называется <a rel="nofollow" href="http://odminblog.ru/links/go.php?url=http://sypex.net/ru/products/dumper/downloads/" target="_blank">Sypex Dumper</a>, и вторую версию скрипта можно даже интегрировать в наиболее популярные CMS. На сайте есть как платная утилита, так и облегченная бесплатная версия.</p>
<p>6. Если таки имеется доступ к консоли, то можно добавить в php.ini следующие строки (увеличиваем лимит загрузки файлов по времени и размеру), после загрузки, лучше вернуть все назад, чтобы не нагнули сервак с оказией:<br />
max_execution_time = 20000<br />
max_input_time = 20000<br />
upload_max_filesize = 150M<br />
post_max_size = 150M</p>
<p>7. Но на самом деле наиболее быстрым и оптимальным вариантом загрузки большой базы данных, имея доступ к консоли, будет загрузить дамп базы данных dump.sql через ftp, а затем залить её через консоль ssh:<br />
mysql -h <strong>hostname </strong>-u <strong>user-name</strong> -p <strong>DB_name</strong> &lt;  /path-to-dir/dump.sql<br />
если у вас в качестве хоста базы данных используется стандартный localhost , то ключик -h можно и опустить, так что получится вида:<br />
mysql -u <strong>user-name</strong> -p <strong>DB_name</strong> &lt;  /path-to-dir/dump.sql</p>
<p>Да, чуть не забыл про самые поганые грабли всей пляски с импортом- при импорте базы данных могут возникнуть проблемы с кодировками, поэтому нам надо убедиться что дефолтная база и выгрузка sql находятся в одной кодировке, либо переконвертировать базу данных в стандартную для mysql кодировку (обычно это utf-8):<br />
iconv -f CP1251 -t UTF-8 dump.sql &gt; dump.sql.utf8<br />
либо указать необходимую кодировку при процедуре импорта базы данных:<br />
mysql -h <strong>hostname </strong>-u <strong>user-name</strong> -default_character_set <strong>utf8 </strong>-p <strong>DB_name</strong> &lt;  /path-to-dir/dump.sql</p>
<div id="crp_related"><h3>Читать еще:</h3><ul><li><a href="http://odminblog.ru/nastrojka-skriptov-dlya-importa-baz-dannyx-v-mysql/" rel="bookmark" class="crp_title">Настройка скриптов для импорта баз данных в mysql</a></li><li><a href="http://odminblog.ru/ustanovka-neskolkix-cms-na-odnu-bazu-dannyx/" rel="bookmark" class="crp_title">Установка нескольких CMS на одну базу данных</a></li><li><a href="http://odminblog.ru/sozdanie-rezervnoj-kopii-sajta-cherez-ftp/" rel="bookmark" class="crp_title">Создание резервной копии сайта через ftp</a></li><li><a href="http://odminblog.ru/defrag-innodb/" rel="bookmark" class="crp_title">Дефрагментация и сжатие InnoDB</a></li><li><a href="http://odminblog.ru/razblokirovka-bana-ip-adresa-v-cpanel/" rel="bookmark" class="crp_title">Разблокировка бана IP адреса в cpanel</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://odminblog.ru/kak-importirovat-bolshu-bazu-dannyx-v-mysql/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Установка нескольких CMS на одну базу данных</title>
		<link>http://odminblog.ru/ustanovka-neskolkix-cms-na-odnu-bazu-dannyx/</link>
		<comments>http://odminblog.ru/ustanovka-neskolkix-cms-na-odnu-bazu-dannyx/#comments</comments>
		<pubDate>Sat, 02 Jul 2011 21:55:39 +0000</pubDate>
		<dc:creator>anchous</dc:creator>
				<category><![CDATA[Сайты и их проблемы]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[сайты]]></category>
		<category><![CDATA[хостинг]]></category>

		<guid isPermaLink="false">http://odminblog.ru/?p=1323</guid>
		<description><![CDATA[В очередное раз столкнулся с вопросом человека- как быть если прикупил себе нищебродский хостинг, позволяющий разместить 5 доменов, и всего одну базу mysql. Я конечно с трудом понимаю кто эти люди, которые приобретают подобные варианты, и главное где они их находят и по какой цене, учитывая что анлим с 4 IP стоит меньше 190 рублей [...]]]></description>
			<content:encoded><![CDATA[<p>В очередное раз столкнулся с вопросом человека- как быть если прикупил себе нищебродский хостинг, позволяющий разместить 5 доменов, и всего одну базу mysql. Я конечно с трудом понимаю кто эти люди, которые приобретают подобные варианты, и главное где они их находят и по какой цене, учитывая что <strong><a href="http://odminblog.ru/links/cyberwurx" target="_blank">анлим с 4 IP стоит меньше 190 рублей</a></strong> в месяц.</p>
<p>Но как водится выход есть даже из самой жопской ситуации. То есть если вам необходимо завести пяток сайтов в одной базе, то это возможно сделать. Но надо учитывать несколько моментов:</p>
<p>в случае если ваши сайты будут разрастаться по объему, и обрастать поклонниками, которые будут генерить нагрузку на сайт, а в том числе и на базу данных, то тормозить будут все сайты одновременно, не взирая на нагрузку;<br />
придется тратить много времени на оптимизацию своей базы данных, для того чтобы минимизировать нагрузку;<br />
крах базы, вызванный одним сайтом, положит все остальные;<br />
ну и напоследок- когда все таки найдутся деньги на переезд, вытягивать данные из базы данных, для того чтобы раскидать их по отдельным базам, займет не мало время</p>
<p>Если вы все же решили что оно того стоит, то создаем базу данных средствами хостинга, после чего закачиваем нужное количество копий wordpress на хостинг, подключаем домены и запускаем установку CMS Wordpress, где для каждой установки указываем различные <strong>table_prefix: wp_ ; wp1_; wp2_</strong> и т.п, которые после копируем в файл <em>wp-config.php</em> (в самом файле для копии wordpress эта строка будет выглядеть <strong>$table_prefix = &#8216;wp_&#8217;;</strong> )</p>
<p>Точно такое же действие подойдет и для других CMS:<br />
в Drupal прописываем в  файл <em>sites/default/settings.php</em> аргумент <strong>$db_prefix = &#8216;drupal1_&#8217;;</strong><br />
в Joomla в файле <em>configuration.php</em> указываем  <strong>var $dbprefix = &#8216;joomla1_&#8217;;</strong><br />
После того как запустим установку CMS все необходимые таблицы, с указанными префиксами создадутся установочными скриптами.</p>
<div id="crp_related"><h3>Читать еще:</h3><ul><li><a href="http://odminblog.ru/nastrojka-skriptov-dlya-importa-baz-dannyx-v-mysql/" rel="bookmark" class="crp_title">Настройка скриптов для импорта баз данных в mysql</a></li><li><a href="http://odminblog.ru/sozdanie-rezervnoj-kopii-sajta-cherez-ftp/" rel="bookmark" class="crp_title">Создание резервной копии сайта через ftp</a></li><li><a href="http://odminblog.ru/kak-importirovat-bolshu-bazu-dannyx-v-mysql/" rel="bookmark" class="crp_title">Как импортировать большую базу данных в mysql</a></li><li><a href="http://odminblog.ru/restore-joomla-password-to-mysql/" rel="bookmark" class="crp_title">Восстановление пароля Joomla к MySQL</a></li><li><a href="http://odminblog.ru/sozdanie-foruma-bez-ispolzovaniya-servera-baz-dannyx/" rel="bookmark" class="crp_title">Создание форума без использования сервера баз данных</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://odminblog.ru/ustanovka-neskolkix-cms-na-odnu-bazu-dannyx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Установка сервера баз данных mySQL на CentOS</title>
		<link>http://odminblog.ru/ustanovka-servera-baz-dannyx-mysql-na-centos/</link>
		<comments>http://odminblog.ru/ustanovka-servera-baz-dannyx-mysql-na-centos/#comments</comments>
		<pubDate>Thu, 09 Jun 2011 23:29:22 +0000</pubDate>
		<dc:creator>anchous</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[сайты]]></category>

		<guid isPermaLink="false">http://odminblog.ru/?p=1259</guid>
		<description><![CDATA[Собрат по цеху озадачил вопросом относительно того, что прикупил у Hostgatora минимальный и самый дешевый VPS по цене всего в 16$ за 384Mb памяти на борту и естественно unmanаged, причем из управления там стоит только Parallels Virtuozzo позволяющая доставлять сервисы и управлять ими, а также лазить по ssh через бродилку и рулить фаерволом. Но вот [...]]]></description>
			<content:encoded><![CDATA[<p>Собрат по цеху озадачил вопросом относительно того, что прикупил у <a rel="nofollow" href="http://odminblog.ru/links/hostgator" target="_blank">Hostgatora минимальный и самый дешевый VPS</a> по цене всего в 16$ за 384Mb памяти на борту и естественно unmanаged, причем из управления там стоит только Parallels Virtuozzo позволяющая доставлять сервисы и управлять ими, а также лазить по ssh через бродилку и рулить фаерволом. Но вот поставить мускуль у него получилось не очень здорово, так что был вынужден расписывать в аську последовательность действий, как и что делать что установить сервер mysql под CentOS.</p>
<p>Собственно там ничего сложного, особенно если стоит линуксовый установщик yum. Если его естественно нет, то делаем все по старинке:<br />
<strong>$ mkdir /usr/local/yum<br />
$ cd /usr/local/yum<br />
$ wget http://linux.duke.edu/projects/yum/download/2.0/yum-2.0.7.tar.gz<br />
$ tar xvzf yum-2.0.7.tar.gz<br />
$ cd yum-2.0.7<br />
$ ./configure<br />
$ make &amp;&amp; make install</strong><br />
после чего продолжаем будто yum у нас уже стоял:<br />
<strong>$ yum install mysql<br />
$ yum install mysql-server<br />
$ yum install mysql-devel<br />
$ chgrp -R mysql /var/lib/mysql<br />
$ chmod -R 770 /var/lib/mysql<br />
$ service mysqld start </strong><br />
После этого загоняем мускуль в автозагрузку:<br />
<strong>$ chkconfig mysqld on &amp;&amp; service mysqld restart &amp;&amp; chkconfig &#8211;list | grep mysqld </strong><br />
После этого задаем пароль для рутового пользователя сервера баз данных:<br />
<strong>/usr/bin/mysqladmin -u root password &#8216;Password&#8217; </strong><br />
Затем переходим к созданию необходимой базы данных и пользователя:<br />
<strong>$  mysql -u root -p<br />
mysql&gt; CREATE DATABASE ИмяБазы;<br />
mysql&gt; USE  ИмяБазы;<br />
mysql&gt; GRANT ALL PRIVILEGES ON *.* TO Юзер@localhost  IDENTIFIED BY &#8216;ПАРОЛЬ&#8217; WITH GRANT OPTION;<br />
mysql&gt; FLUSH PRIVILEGES;<br />
mysql&gt; \q</strong></p>
<p>После чего можно радоваться тому факту что на нашем дешевом VPS теперь крутится движок баз данных mySQL.</p>
<div id="crp_related"><h3>Читать еще:</h3><ul><li><a href="http://odminblog.ru/egroupware-installing/" rel="bookmark" class="crp_title">Установка eGroupWare</a></li><li><a href="http://odminblog.ru/mysql-server-install/" rel="bookmark" class="crp_title">Установка сервера БД MySQL</a></li><li><a href="http://odminblog.ru/nastrojka-skriptov-dlya-importa-baz-dannyx-v-mysql/" rel="bookmark" class="crp_title">Настройка скриптов для импорта баз данных в mysql</a></li><li><a href="http://odminblog.ru/su2-install/" rel="bookmark" class="crp_title">Установка утилиты su2</a></li><li><a href="http://odminblog.ru/razblokirovka-bana-ip-adresa-v-cpanel/" rel="bookmark" class="crp_title">Разблокировка бана IP адреса в cpanel</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://odminblog.ru/ustanovka-servera-baz-dannyx-mysql-na-centos/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Создание резервной копии сайта через ftp</title>
		<link>http://odminblog.ru/sozdanie-rezervnoj-kopii-sajta-cherez-ftp/</link>
		<comments>http://odminblog.ru/sozdanie-rezervnoj-kopii-sajta-cherez-ftp/#comments</comments>
		<pubDate>Tue, 31 May 2011 15:56:11 +0000</pubDate>
		<dc:creator>anchous</dc:creator>
				<category><![CDATA[Сайты и их проблемы]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[интернет]]></category>
		<category><![CDATA[сайты]]></category>

		<guid isPermaLink="false">http://odminblog.ru/?p=1247</guid>
		<description><![CDATA[Знакомые девочки попросили вписаться за них, ибо некий разработчик отлично доил их контору, пользуясь тем, что девочки не очень хорошо себе представляли средние цены на услуги хостинга, да и разработки кстати тоже, которая оставляла сильно желать лучшего. Когда же проявился я, товарищ ушел в полную несознанку, ибо нагрузить меня по части php и серверных технологий [...]]]></description>
			<content:encoded><![CDATA[<p>Знакомые девочки попросили вписаться за них, ибо некий разработчик отлично доил их контору, пользуясь тем, что девочки не очень хорошо себе представляли средние цены на услуги хостинга, да и разработки кстати тоже, которая оставляла сильно желать лучшего. Когда же проявился я, товарищ ушел в полную несознанку, ибо нагрузить меня по части php и серверных технологий у него получилось не очень здорово, что добавило еще один камень в корзину неадекватности некоторых русских интернетчиков, но озлобило его до ужаса.</p>
<p>Так что когда  возникла необходимость перенести сайт, служивший предметом торга, с его хостинга на новый хостинг вышеупомянутых барышень, товарищ мне предоставил только ftp доступ, сказав что ипитесь сами, так что пришлось немного пораскинуть мозгами- но не особо далеко.</p>
<p>Собственно для того чтобы сделать резервную копию сайта- нам необходимо два типа данных- собственно содержимое домашней директории сайта и выгрузка базы данных. Сайт мы копируем по ftp, используя стандартные механизмы протокола, единственно не забывая о том, что если на сайте присутствуют русские имена файлов, то нам необходим <a href="http://odminblog.ru/kak-skachat-ftp-na-russkom-ili-podderzhka-unicode-ftp-klientami/">ftp-клиент поддерживающий кодировку utf8</a> (об этом я как раз писал накануне).</p>
<p>Для того же чтобы выкачать базу- нам понадобится утилита управления серверов mysql &#8211; phpmyadmin. Естественно, что можно скопировать сайт используя например встроенные утилиты- например для того же Drupal, но во первых они не всегда корректно копируют базу, а во вторых у того пользователя который был у меня на момент выгрузки данных- не было прав на использование этого модуля.</p>
<p>Так что пришлось таки биться с phpMyAdmin. Качаем утилиту с официального сайта, разархивируем её себе на компьютер и редактируем файл конфигурации, предварительно ознакомившись с файлом конфигурации сайта имеющейся резервной копии, на предмет выяснения паролей и явок связи сайта с базой данных. Собственно у каждого движка его расположение свое собственное, поскольку я переносил друпальный сайт, то в моем случае его местоположение было sites/all/default.</p>
<p>Создаем конфиг-файл config.inc.php, из имеющегося config.sample.inc.php, и заполняем строчку<br />
<strong>$cfg['blowfish_secret'] = &#8216;ba17c1ec07d65003&#8242;;  // use here a value of your choice </strong><br />
произвольным кодом, который нам будет нужен для аутентификации по кукам. Также мы можем поменять тип аутентификации, в строчке<br />
<strong>$cfg['Servers'][$i]['auth_type'] = &#8216;cookie&#8217;;</strong><br />
например на аутентификацию по http, что бы при обращении к странице сразу выскакивал логин-промт:<br />
<strong>$cfg['Servers'][$i]['auth_type'] = &#8216;http&#8217;;</strong></p>
<p>Помещаем файл в корневую директорию phpmyadmin. После этого загружаем все содержимое каталога  в подпапку, например phpmyadmin, корневого раздела сайта и заходим через бродилку http://сайт//phpmyadmin. Вводим логин который мы достали из конфига CMS и вуаля- &#8220;мы уже а Хопре!&#8221;</p>
<p>Вероятнее всего при заходе через бродилку у вас будет ругань следующего содержания: «Расширение mcrypt не найдено. Пожалуйста, проверьте ваши настройки PHP», но её мы просто игнорируем. Также в этой ситуации придется забить и на все остальные варнинги, как то отсутствие библиотеки mbstring, которая также ставится из консоли, и всевозможные опции для утилиты phpmyadmin.</p>
<p>Поэтому проходим в экспорт и цинично сливаем базу данных, выбрав доступный формат сохранения базы данных- как минимум sql.</p>
<div id="crp_related"><h3>Читать еще:</h3><ul><li><a href="http://odminblog.ru/kak-importirovat-bolshu-bazu-dannyx-v-mysql/" rel="bookmark" class="crp_title">Как импортировать большую базу данных в mysql</a></li><li><a href="http://odminblog.ru/nastrojka-skriptov-dlya-importa-baz-dannyx-v-mysql/" rel="bookmark" class="crp_title">Настройка скриптов для импорта баз данных в mysql</a></li><li><a href="http://odminblog.ru/ustanovka-neskolkix-cms-na-odnu-bazu-dannyx/" rel="bookmark" class="crp_title">Установка нескольких CMS на одну базу данных</a></li><li><a href="http://odminblog.ru/phpbb-install/" rel="bookmark" class="crp_title">Установка движка форума phpBB</a></li><li><a href="http://odminblog.ru/restore-joomla-password-to-mysql/" rel="bookmark" class="crp_title">Восстановление пароля Joomla к MySQL</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://odminblog.ru/sozdanie-rezervnoj-kopii-sajta-cherez-ftp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Восстановление пароля Joomla к MySQL</title>
		<link>http://odminblog.ru/restore-joomla-password-to-mysql/</link>
		<comments>http://odminblog.ru/restore-joomla-password-to-mysql/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 14:28:37 +0000</pubDate>
		<dc:creator>anchous</dc:creator>
				<category><![CDATA[Сайты и их проблемы]]></category>
		<category><![CDATA[cpanel]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[сайты]]></category>
		<category><![CDATA[техподдержка]]></category>
		<category><![CDATA[хостинг]]></category>

		<guid isPermaLink="false">http://odminblog.ru/?p=716</guid>
		<description><![CDATA[До знака «***» читать не обязательно, поскольку это не относится никаким образом к делу, а всего лишь является стоном автора, многократно подтверждающим старую фразу: хочешь запороть дело, поручи его кому нибудь еще.
Год уже работаю с различными буржуинскими хостингами, и очень они мне нравятся во всем: удобство, поддержка, обслуживание, цены, скорости. Поддержка вообще прекрасна- поскольку у [...]]]></description>
			<content:encoded><![CDATA[<p>До знака «***» читать не обязательно, поскольку это не относится никаким образом к делу, а всего лишь является стоном автора, многократно подтверждающим старую фразу: хочешь запороть дело, поручи его кому нибудь еще.</p>
<p>Год уже работаю с различными буржуинскими хостингами, и очень они мне нравятся во всем: удобство, поддержка, обслуживание, цены, скорости. Поддержка вообще прекрасна- поскольку у большинства из них имеется лайв-чат, что не так, помогут почти мгновенно, или хотя бы просто быстро. Но это если что то простое или стандартное. А вот если возникают какие то сложности, то тогда почти всегда выходило так, что мне быстрее было допетрить самому чем долго и занудно общаться с суппортом. Вот и сейчас- полтора часа ушли на объяснения что и почему и как не работает, консультации с админами на их стороне и прочее, и только когда понял, что со мной работают наотъебись™ , немножко включил мозг- в итоге сделалось все за 5 минут. :-/ Кто вернет полтора часа? Но ладно- это так</p>
<p>******<br />
Вчера на одном из своих хостингов апгрейдил движки и удалял не нужные домены и сайты. В итоге сегодня обнаружил, что по глупости удалил нужный сайт, который хостился в папке, принадлежавшей ранее другому домену, и в этой связи удобнейшая утилита	<strong>Fantastico </strong>показала что эту установку использует домен который я давно уже снес, за ненадобностью.</p>
<p>Вообщем используя <strong>Fantastico </strong>я снес сайт крутившийся на <strong>Joomla</strong>.</p>
<p><span id="more-716"></span>И сегодня обнаружив пропажу- решил было все исправить. Взял имевшийся у меня бэкап домашней директории, закачал его в нужную директорию, после чего попытался восстановить бэкап базы сайта. Но стандартной восстановлялкой из утилиты <strong>Backups </strong>в панели управлении хостингом <strong>cpanel </strong>это не получилось, по не понятным мне, и как оказалось в последствии- техподдержке также, причинам. Тогда в утилите <strong>MySQL Databases</strong> я создал такую же базу и пользователя, назначив ему права на базу.  После чего я загрузил утилиту <strong>phpMyAdmin</strong>, доступную в разделе <strong>Databases </strong>и в ней, выбрав соответствующую базу, с помощью команды <strong>Import </strong>подтянул базу данных.</p>
<p>Но сайт по прежнему говорил о том, что не может соединиться с <strong>MySQL</strong>, из чего я сделал вывод, что пароль у меня к базе указан не правильно. А вот как правильно &#8211; это мне и предстояло узнать. После того как я перелопатил всю базу <strong>Joomla </strong>и бэкап общей базы <strong>mysql</strong>, в которой пароли были хешерованы, я полез собственно в установочную директорию Joomla. И вот в ней, я обнаружил файлик, содержавший всю ту информацию, которую я надеялся найти в базе <strong>Joomla</strong>, а именно пароли и явки.</p>
<p>Итак, разрешите представить файл <em>%homedir%/configuration.php<br />
</em>Открываем на редактирование и видим много чего интересного, но нас интересуют поля относящиеся к движку <strong>mysql</strong>.</p>
<p>####################</p>
<p>&lt;?php<br />
class JConfig {</p>
<p>&#8230;&#8230;.</p>
<p>var $dbtype = &#8216;<strong>mysql</strong>&#8216;;<br />
var $host = &#8216;localhost&#8217;;<br />
var $user = &#8216;odminblog_mysqluser&#8217;;<br />
var $db = &#8216;odminblog_jo177&#8242;;<br />
var $dbprefix = &#8216;jo_&#8217;;<br />
var $smtphost = &#8216;localhost&#8217;;<br />
var $session_handler = &#8216;database&#8217;;<br />
var $password = &#8216;Password&#8217;;</p>
<p>&#8230;..</p>
<p>}<br />
############</p>
<p>Все данные не хешированы, и потому пароль представлен в явном виде, так что отсюда мы его и берем и в панели cpanel создаем такого же пользователя с таким же паролем, или же наоборот, меняем эту строчку на пустой, или любой другой пароль.</p>
<p>Выполнив все указанные процедуры я получил работоспособный сайт назад.</p>
<div id="crp_related"><h3>Читать еще:</h3><ul><li><a href="http://odminblog.ru/ustanovka-servera-baz-dannyx-mysql-na-centos/" rel="bookmark" class="crp_title">Установка сервера баз данных mySQL на CentOS</a></li><li><a href="http://odminblog.ru/ustanovka-neskolkix-cms-na-odnu-bazu-dannyx/" rel="bookmark" class="crp_title">Установка нескольких CMS на одну базу данных</a></li><li><a href="http://odminblog.ru/nastrojka-skriptov-dlya-importa-baz-dannyx-v-mysql/" rel="bookmark" class="crp_title">Настройка скриптов для импорта баз данных в mysql</a></li><li><a href="http://odminblog.ru/egroupware-installing/" rel="bookmark" class="crp_title">Установка eGroupWare</a></li><li><a href="http://odminblog.ru/joomla-doesnt-show-pics/" rel="bookmark" class="crp_title">joomla не отображает картинки</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://odminblog.ru/restore-joomla-password-to-mysql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Установка сервера БД MySQL</title>
		<link>http://odminblog.ru/mysql-server-install/</link>
		<comments>http://odminblog.ru/mysql-server-install/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 11:13:48 +0000</pubDate>
		<dc:creator>anchous</dc:creator>
				<category><![CDATA[Базы данных]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[базы]]></category>
		<category><![CDATA[буфер]]></category>
		<category><![CDATA[таблица]]></category>

		<guid isPermaLink="false">http://odmin.sane4ka.ru/?p=583</guid>
		<description><![CDATA[Сейчас, в преддверии всяких разных настроек, типо почтарей, шейперов, сислогов и прочее, мы будем ставить open-sourse сервер БД от компании Sun MySQL. С использованием MySQL работа этих сервисов упрощается и функционирование значительно ускоряется. Писать о мускуле можно бесконечно, посему я этого делать не буду, если есть желание почитать, то это можно сделать на оффсайте. Естественно [...]]]></description>
			<content:encoded><![CDATA[<p>Сейчас, в преддверии всяких разных настроек, типо почтарей, шейперов, сислогов и прочее, мы будем ставить open-sourse сервер БД от компании Sun MySQL. С использованием MySQL работа этих сервисов упрощается и функционирование значительно ускоряется. Писать о мускуле можно бесконечно, посему я этого делать не буду, если есть желание почитать, то это можно сделать на оффсайте. Естественно предполагается, что перед установкой, мы полностью <a href="http://odminblog.ru/hardening-freebsd/">заточили систему</a> и <a href="http://odminblog.ru/ports-update-freebsd/">обновили порты</a>.</p>
<p>Итак установка мускуля. Ставить будем, актуальную на данный момент, версию MySQL 5.1.41. Существует три вида подобной установки и я пойду сверху вниз по мере усложнения.</p>
<p><span id="more-583"></span>1. Первый вид, наиболее простой и незатратный. Мы просто скачиваем с <noindex><a rel="nofollow" href="http://dev.mysql.com/downloads/">офф.сайта</a></noindex> полностью откомпилированный сервак и распаковываем его у себя на сервере. Откровенно говоря я больше предпочитаю этот вариант поскольку он наиболее быстрый и надежный, тем более думаю что инженеры Sun однозначно не хуже меня соберут необходимый продукт. Тем более что этот способ позволяет получить наиболее актуальную версию продукта, более свежую, чем будет установлена, например, из портов. Единственно что, он устанавливается в максимальной комплектации и идет с подключением всех возможных модулей.</p>
<p># wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.41-freebsd7.0-i386.tar.gz/from/http://www.mirrorservice.org/sites/ftp.mysql.com/<br />
# tar -xzvf mysql-5.1.41-freebsd7.0-i386.tar.gz<br />
# mv ./mysql-5.1.41-freebsd7.0-i386 /usr/local/mysql</p>
<p>Добавляем в систему пользователя и группу от которой будет работать демон mysqld, наречем его mysql. Зададим  ему права на папку хранения баа данных, по умолчанию, и создадим первичный комплект БД MySQL.</p>
<p># cd /usr/local/mysql<br />
# chown -R mysql:mysql /usr/local/mysql/*<br />
# scripts/mysql_install_db &#8211;user=mysql<br />
# chown -R root .<br />
# chown -R mysql data</p>
<p>Прописываем скрипт запуска сервера<br />
# cp support-files/mysql.server /usr/local/etc/rc.d/</p>
<p>2. Этот способ lyssara-style, т.е. установка из портов. Выбираем версию сервера 5.1, на данный момент актуальной является версия 5.1.41</p>
<p># cd /usr/ports/databases/mysql51-server/<br />
# make &amp;&amp; make install &amp;&amp; make clean</p>
<p>##### Используемые по умолчанию параметры установки #####<br />
WITH_CHARSET=charset    Define the primary built-in charset (latin1).<br />
WITH_XCHARSET=list      Define other built-in charsets (may be &#8216;all&#8217;).<br />
WITH_COLLATION=collate  Define default collation (latin1_swedish_ci).<br />
WITH_OPENSSL=yes        Enable secure connections.<br />
WITH_LINUXTHREADS=yes   Use the linuxthreads pthread library.<br />
WITH_PROC_SCOPE_PTH=yes Use process scope threads<br />
(try it if you use libpthread).<br />
BUILD_OPTIMIZED=yes     Enable compiler optimizations<br />
(use it if you need speed).<br />
BUILD_STATIC=yes        Build a static version of mysqld.<br />
(use it if you need even more speed).<br />
WITHOUT_THR_ALARM=yes   Disable signals (this reduces kernel lock<br />
contention on SMP, but has the side effect<br />
that you can&#8217;t kill clients that are sleeping).<br />
WITHOUT_INNODB=yes      Disable support for InnoDB table handler.<br />
WITH_ARCHIVE=yes        Enable support for Archive Storage Engine.<br />
WITH_CSV=yes            Enable support for CSV Storage Engine.<br />
WITH_FEDERATED=yes      Enable support for Federated Storage Engine.<br />
WITH_NDB=yes            Enable support for NDB Cluster.<br />
#####################################################<br />
Смотрим файл Makefile и выбираем те параметры что интересуют нас и записываем их в /etc/make.conf  У меня получилось следующее:<br />
###########</p>
<p>.if ${.CURDIR} == ${PORTSDIR}/databases/mysql51-server<br />
WITH_CHARSET=utf8<br />
WITH_XCHARSET=all<br />
WITH_COLLATION=uft8_bin<br />
WITH_LINUXTHREADS=yes<br />
BUILD_OPTIMIZED=yes<br />
BUILD_STATIC=yes<br />
WITHOUT_INNODB=no<br />
.endif<br />
.if ${.CURDIR} == ${PORTSDIR}/databases/mysql54-client<br />
WITH_CHARSET=utf8<br />
WITH_COLLATION=utf8_bin<br />
BUILD_OPTIMIZED=yes<br />
.endif</p>
<p>###########<br />
Копируем скрипт загрузки в rc.d<br />
# cp /usr/local/share/mysql/mysql.server /usr/local/etc/rc.d/</p>
<p>3. И наконец последний. Из все предыдущих он наиболее родной для юникса, но при этом наиболее заковыристый. Но ведь настоящие программеры пишут в блокноте <img src='http://odminblog.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Итак скачиваем сырцы и устанавливаем в систему. Этот способ наиболее гибкий, т.к. можно варьировать всевозможные конфигурации, как и в случае с портами, но сырцы реже попадаются кривыми, нежели порты.</p>
<p># tar -xzvf mysql-5.1.41.tar.gz<br />
# cd mysql-5.1.41<br />
Смотрим доступные для установки опции<br />
# ./configure &#8211;help<br />
Создаем шаманскую фразу призывающую демона MySQL снизойти на наш сервер<br />
# ./configure &#8211;prefix=/usr/local/mysql &#8211;localstatedir=/usr/local/mysql/data &#8211;with-mysqld-user=mysql &#8211;with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock &#8211;with-charset=utf8 &#8211;with-extra-charsets=all &#8211;with-error-inject<br />
# make &amp;&amp; make install &amp;&amp; make clean<br />
# sh scripts/mysql_install_db</p>
<p>Теперь после того как мы поставили MySQL всеми этими различными способами, переходим к правке конфиг файла<br />
# vi /usr/local/etc/my.cnf<br />
####### Подробные описания параметров на <noindex><a rel="nofollow" href="http://dev.mysql.com/doc/refman/5.0/en/server-options.html" target="_blank">офф.сайте</a></noindex> <strong>MySQL</strong><em></p>
<p># Раздел настроек клиента <strong>MySQL</strong></em><br />
[client]<br />
<em># Указываем сокет сервера, к которому следует обращаться.<br />
# Можно также указать порт, на котором будет крутиться сервер,<br />
# но поскольку мы планируем использовать сервер <strong>MySQL</strong><br />
# для локальных баз, то закомментируем эту директиву</em><br />
# port            = 3306<br />
socket          = /tmp/mysql.sock<br />
<em># Указываем пароль для подключения к БД, если используем</em><br />
# password       = your_password</p>
<p><em># Настройки сервера <strong>MySQL</strong></em><br />
[mysqld]<br />
<em># Расположение баз данных <strong>MySQL</strong></em><br />
datadir=/usr/local/mysql/base<br />
<em># Расположение сокета</em><br />
socket=/tmp/mysql.sock<br />
<em># Пользователь от которого запускается демон</em> <strong><em>MySQL</em></strong><br />
user=mysql<em><br />
# Адрес и порт на которых демон слушает обращения (для локальной базы<br />
# оставляем 127.0.0.1 или не используем вовсе)</em><br />
bind-address    = 127.0.0.1<br />
# port            = 3306<br />
<em># Размер блока для таблиц типа <strong>MyISAM</strong>- тот буфер памяти<br />
# который система использует для индексирования. Максимальный размер<br />
# на 32-битных платформах 4Gb. Обычно задают порядка<br />
# 25% размера оперативной памяти.<br />
</em>key_buffer_size=50M<br />
<em># Максимальный размер пакета. Изначально размер пакета<br />
# задается параметром <strong>net_buffer_length</strong>, но в случае необходимости<br />
#  может возрасти до <strong>max_allowed_packet</strong>.<br />
# Этот параметр, по умолчанию, задается небольшого значения,<br />
# для отлова больших (предположительно ошибочных) пакетов.</em><br />
max_allowed_packet = 1M<br />
<em># Количество максимальных разрешенных клиентских сессий.<br />
# По умолчанию этот параметр равен 100</em><br />
max_connections=300<br />
<em># Увеличение этого параметра увеличивает количество<br />
# дискриптеров необходимых для <strong>mysqld</strong>.<br />
# Выяснить необходимость увеличения табличного кэша,<br />
# можно путем проверки статуса <strong>Opened_tables</strong></em><br />
table_cache = 4<br />
<em># Каждому потоку, производящему операцию сортировки,<br />
# выделяется буфер заданного размера. Увеличение этого параметра<br />
# ускоряет выполнение операций <strong>ORDER BY</strong> и <strong>GROUP BY</strong></em><br />
sort_buffer_size = 1M<br />
<em># Каждому потоку производящему операцию последовательного сканирования,<br />
# выделяется буфер заданного (в байтах) размера,<br />
# для каждой сканируемой таблицы.<br />
# При множественных последовательных сканированиях, значение параметра<br />
# имеет смысл увеличить, т.к. по умолчанию он равен 131072.</em><br />
read_buffer_size = 1M<br />
<em># При сортировке прочтенных строк происзводится операция ключевой сортировки,<br />
# при которой строка считывается через заданный буфер,<br />
# во избежании поиска на диске.<br />
# Большое значение данного параметра способно значительно увеличить<br />
# производительность операции <strong>ORDER BY</strong>.</em><br />
read_rnd_buffer_size = 256K<br />
<em># Каждый клиентский поток соотносится с буфером соединения и<br />
# результирующим буфером. Оба они имеют размер заданный данным параметром,<br />
# но при необходимости могут динамически увеличиваться,<br />
# вплоть до величины заданной параметром <strong>max_allowed_packet</strong>.<br />
# Каждый результирующий буфер сокращается до величины <strong>net_buffer_length</strong><br />
# после каждого SQL отчета.</em><br />
net_buffer_length = 2K<br />
<em># Этим параметром задается размер стека для каждого потока.<br />
# Большое количество ограничений, обнаруживаемых тестом <strong>crash-me</strong>,<br />
# зависит от значения этого параметра.<br />
# Значения по умолчанию (192Kb) достаточно для нормальных операций.</em><br />
thread_stack = 64K<br />
<em># Не использовать системные блокировки<br />
</em>skip-locking<br />
<em># Данный параметр, в режиме <strong>ON</strong>, используется для работы локальной БД,<br />
# т.е. сервер <strong>MySQL</strong> не использует стек TCP/IP,<br />
# а работает только через файл сокета.<br />
# Данный параметр задается при конфигурации опцией<strong><br />
# &#8211;skip-networking</strong></em> <em>(как и все  доступные опции)</em><br />
skip-networking<br />
<em># Не резолвить доменные имена клиентов, и использовать только IP.<br />
# Если используется этот параметр то поле <strong>Host </strong>в таблице<br />
#  разрешений (grant table) должно содержать только IP адреса или <strong>localhost</strong></em><br />
skip-name-resolve<br />
<em># Отключение поддержки <strong>BDB </strong>(<strong>Berkeley DB</strong>), в том случае если нет<br />
# необходимости поддержки <strong>BDB </strong>таблиц. Этот параметр позволяет сэкономить<br />
# память и тем самым ускорить выполение некоторых операций.</em><br />
skip-bdb<br />
<em># Путь хранения лог файла (у пользователя <strong>mysql </strong>должны быть права на запись)</em><br />
log-error=/var/log/mysql.errors</p>
<p>##########################################################</p>
<p>Вроде как все готово, можно запускать в плавание. Первый запуск осуществим командой:<br />
# bin/mysqld_safe &#8211;user=mysql &amp;<br />
Дальнейшие манипуляции с сервером MySQL будем производить посредством запускающего скрипта<br />
# /usr/local/etc/rc.d/mysql-server [fast|force|one](start|stop|restart|rcvar|status|poll)<br />
Смотрим- все ли у нас запустилось:<br />
# ps -axj | grep mysql</p>
<p>И начинаем размышлять, что теперь к этому серверу мы можем прикрутить.</p>
<div id="crp_related"><h3>Читать еще:</h3><ul><li><a href="http://odminblog.ru/ustanovka-servera-baz-dannyx-mysql-na-centos/" rel="bookmark" class="crp_title">Установка сервера баз данных mySQL на CentOS</a></li><li><a href="http://odminblog.ru/nastrojka-skriptov-dlya-importa-baz-dannyx-v-mysql/" rel="bookmark" class="crp_title">Настройка скриптов для импорта баз данных в mysql</a></li><li><a href="http://odminblog.ru/razblokirovka-bana-ip-adresa-v-cpanel/" rel="bookmark" class="crp_title">Разблокировка бана IP адреса в cpanel</a></li><li><a href="http://odminblog.ru/defrag-innodb/" rel="bookmark" class="crp_title">Дефрагментация и сжатие InnoDB</a></li><li><a href="http://odminblog.ru/kak-importirovat-bolshu-bazu-dannyx-v-mysql/" rel="bookmark" class="crp_title">Как импортировать большую базу данных в mysql</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://odminblog.ru/mysql-server-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Дефрагментация и сжатие InnoDB</title>
		<link>http://odminblog.ru/defrag-innodb/</link>
		<comments>http://odminblog.ru/defrag-innodb/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 14:28:55 +0000</pubDate>
		<dc:creator>anchous</dc:creator>
				<category><![CDATA[Базы данных]]></category>
		<category><![CDATA[exim]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[innodb]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[база данных]]></category>
		<category><![CDATA[дамп]]></category>

		<guid isPermaLink="false">http://odmin.sane4ka.ru/?p=459</guid>
		<description><![CDATA[Есть у меня отличный почтарь, да не один, а несколько. Все они крутятся в связке Exim + DBmail + MySQL, конечно там есть много чего еще, но это основная связка, и нас из неё интересует последняя составляющая mySQL. Дело в том, что база пользователей и всего имеющегося мусора крутится по мускулем и хостится в базе [...]]]></description>
			<content:encoded><![CDATA[<p>Есть у меня отличный почтарь, да не один, а несколько. Все они крутятся в связке Exim + DBmail + MySQL, конечно там есть много чего еще, но это основная связка, и нас из неё интересует последняя составляющая mySQL. Дело в том, что база пользователей и всего имеющегося мусора крутится по мускулем и хостится в базе типо InnoDB, которую необходимо постоянно сжимать и сканировать. Желательно каждую ночь, чтобы мусор скопившийся за день, не забивал место в табличном пространстве.</p>
<p>К большому сожалению база InnoDB работает по принципу ниппеля, т.е. туда дуй, оттуда х&#8230; Объясняя это доступным языком- табличное пространство может как расширяться так и уменьшаться, но физический размер базы при этом изменяется только в сторону увеличения. Проще говоря если у вас база была на максимуме 20гигов, и после этого вы её почистив освободили 90% пространства, внутри база у вас будет свободна на 90% (посмотреть свободное пространство можно командой в консоли управления сервером: mysql&gt; show table status; ), но снаружи она так и будет занимать на диске 20 Гиг физического пространства диска. Так вот у меня, на одном из серверов, она успела разрастись, пока я прочухал тот факт, что забыл установить чистящий скриптик, до 250 Гигов, которые конечно работают как часы, но самой цифрой действуют мне на нервы. В этой связи надо что то делать. Но делать можно только одним способом, а именно перегнать базу в дамп sql и затянуть его обратно, предварительно дропнув имеющегося монстра. В этой связи, ровно как и для дефрагментации табличного пространства, нашим лучшим другом является системная утилита mysqldump, входящая в стандартный комплект поставки сервера mySQL.</p>
<p>*** Для дефрагментации InnoDB также можно использовать способ двойной перегонки <img src='http://odminblog.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  базы, с помощью команды ALTER преобразовать её в тип MyISAM, а затем обратно в тип InnoDB.<br />
<span id="more-459"></span>Данная утилита дает возможность сделать мгновенный слепок базы данных (на тему мгновенности конечно это я так, для красивого словца- полтора гига шло минут 7, 250 прошли за 2.5 часа) представляющий собой текстовый файл с набором SQL команд для создания и заполнения таблиц.<br />
Собственно приступаем к работе:</p>
<p># mysqldump -uSQL_USER_EXIM -p EXIM_DATABASE &gt; /tmp/exim.sql</p>
<p>-u или &#8211;user=  &#8211; имя пользователя<br />
-p &#8211;password  -  запрос пароля<br />
exim_database &#8211; имя базы данных<br />
exim.sql &#8211; файл для вывода дампа</p>
<p>за раз можно загнатьв дамп несколько баз, если перечислить их друг за другом, после опции -B или &#8211;databases:</p>
<p># mysqldump -uSQL_USER_EXIM -p database1 -B database2 database3 &gt; /tmp/database.sql</p>
<p>также можно снять дамп всех таблиц, если использовать оператор -A или &#8211;all-databases:</p>
<p># mysqldump -uSQL_USER_EXIM -p -A &gt; /tmp/database.sql</p>
<p>Данная операция займет некоторое время и место на диске, зависящее от объема базы SQL.</p>
<p>После этого останавливаем сервер mySQL</p>
<p>#  /usr/local/mysql/support-files/mysql.server stop</p>
<p>*****<br />
С версии 6.x доступен так называемый on-line backup для всех типов баз. Его отличительные особенности то, что он не блокирует выполнение INSERT/UPDATE/DELETE и выполняется простейшими командами:<br />
BACKUP DATABASE &lt;db_name&gt; to &lt;file&gt;<br />
RESTORE &lt;file&gt; [OVERWRITE]<br />
*****</p>
<p>Делаем резервную копию базы данных которую мы предполагаем экспортировать, из папки %mysql%/data переписываем файл базы и журналов InnoDB и соответствующую ей папку с файлами *.frm в самое укромное место на винте.</p>
<p>После этого удаляем таблицу и соответствующие ей файлы, и запускаем сервер:</p>
<p>#  /usr/local/mysql/support-files/mysql.server start</p>
<p>Сервер немного подумает и восстановит пустую базу InnoDB, после чего мы заливаем в неё наш бэкап. Сделать это можно двумя способами, либо из командной строки:</p>
<p># mysql -uSQL_USER_EXIM -p EXIM_DATABASE &lt; /tmp/exim.sql</p>
<p>либо из консоли сервера:</p>
<p>mysql&gt; use EXIM_DATABASE;<br />
mysql&gt; source exim.sql</p>
<p>После чего смотрим производительность и размер диска, занимаемый базой.<br />
******<br />
Парочка полезных советов:</p>
<p>При ограниченных ресурсах памяти или объемной базе данных, следует использовать опцию &#8211;quick или &#8211;opt, это позволит утилите mysqldump начать делать дамп базы без предварительной загрузки её в память.</p>
<p>Также может возникнуть необходимость указания кодировки в которой вы хотели бы получить дамп вашей базы, для этого используется опция &#8211;default-character-set=</p>
<p>Опция -f позволит продолжать выполнение резервирования даже при получении ошибки в ходе выполнения процедуры.</p>
<p>Удобная команда для автоматического резервирования со сжатием:<br />
mysqldump -uROOT -pPASSWD DBNAME | gzip -c &gt; `date &#8220;+%Y-%m-%d&#8221;`.gz</p>
<p>Также возможно резервироватьна удаленный хост:<br />
mysqldump -uROOT -PNUMBER_PORT -hHOST -pPASSWD DBNAME</p>
<div id="crp_related"><h3>Читать еще:</h3><ul><li><a href="http://odminblog.ru/nastrojka-skriptov-dlya-importa-baz-dannyx-v-mysql/" rel="bookmark" class="crp_title">Настройка скриптов для импорта баз данных в mysql</a></li><li><a href="http://odminblog.ru/kak-importirovat-bolshu-bazu-dannyx-v-mysql/" rel="bookmark" class="crp_title">Как импортировать большую базу данных в mysql</a></li><li><a href="http://odminblog.ru/ustanovka-servera-baz-dannyx-mysql-na-centos/" rel="bookmark" class="crp_title">Установка сервера баз данных mySQL на CentOS</a></li><li><a href="http://odminblog.ru/mysql-server-install/" rel="bookmark" class="crp_title">Установка сервера БД MySQL</a></li><li><a href="http://odminblog.ru/razblokirovka-bana-ip-adresa-v-cpanel/" rel="bookmark" class="crp_title">Разблокировка бана IP адреса в cpanel</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://odminblog.ru/defrag-innodb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

