<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://artful.ru/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://artful.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Artful</id>
		<title>Домашняя записная книжка (c) Artful - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://artful.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Artful"/>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Artful"/>
		<updated>2026-05-03T02:15:48Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.23.2</generator>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9B%D0%BE%D0%BA%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_FreeBSD_%D0%BD%D0%B0_UTF-8</id>
		<title>Локализация FreeBSD на UTF-8</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9B%D0%BE%D0%BA%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_FreeBSD_%D0%BD%D0%B0_UTF-8"/>
				<updated>2015-04-05T09:51:32Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Локализация FreeBSD на UTF-8&lt;br /&gt;
&lt;br /&gt;
===/etc/login.conf===&lt;br /&gt;
Открываем файл /etc/login.conf и находим секцию: russian|Russian Users Accounts&lt;br /&gt;
И заменяем текст на &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
russian|Russian Users Accounts:\&lt;br /&gt;
	:charset=UTF-8:\&lt;br /&gt;
	:lang=ru_RU.UTF-8:\&lt;br /&gt;
	:tc=default:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После чего выполняем команду: cap_mkdb /etc/login.conf&lt;br /&gt;
&lt;br /&gt;
===Локализация bash===&lt;br /&gt;
открываем файл /etc/profile и дописываем в конец:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
LANG=ru_RU.UTF-8; export LANG&lt;br /&gt;
LC_ALL=ru_RU.UTF-8; export LC_ALL&lt;br /&gt;
MM_CHARSET=UTF-8; export MM_CHARSET&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Локализация csh===&lt;br /&gt;
открываем файл /etc/csh.login и дописываем в конец:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
setenv LANG ru_RU.UTF-8&lt;br /&gt;
setenv MM_CHARSET UTF-8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Окончание===&lt;br /&gt;
Далее просто делаем реконнект к серверу по SSH&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9B%D0%BE%D0%BA%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_FreeBSD_%D0%BD%D0%B0_UTF-8</id>
		<title>Локализация FreeBSD на UTF-8</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9B%D0%BE%D0%BA%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_FreeBSD_%D0%BD%D0%B0_UTF-8"/>
				<updated>2015-04-05T09:51:02Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Локализация FreeBSD на UTF-8&lt;br /&gt;
&lt;br /&gt;
===/etc/login.conf===&lt;br /&gt;
Открываем файл /etc/login.conf и находим секцию: russian|Russian Users Accounts&lt;br /&gt;
И заменяем текст на &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
russian|Russian Users Accounts:\&lt;br /&gt;
	:charset=UTF-8:\&lt;br /&gt;
	:lang=ru_RU.UTF-8:\&lt;br /&gt;
	:tc=default:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После чего выполняем команду: cap_mkdb /etc/login.conf&lt;br /&gt;
&lt;br /&gt;
===Локализация bash===&lt;br /&gt;
открываем файл /etc/profile и дописываем в конец:&lt;br /&gt;
LANG=ru_RU.UTF-8; export LANG&lt;br /&gt;
LC_ALL=ru_RU.UTF-8; export LC_ALL&lt;br /&gt;
MM_CHARSET=UTF-8; export MM_CHARSET&lt;br /&gt;
&lt;br /&gt;
===Локализация csh===&lt;br /&gt;
открываем файл /etc/csh.login и дописываем в конец:&lt;br /&gt;
setenv LANG ru_RU.UTF-8&lt;br /&gt;
setenv MM_CHARSET UTF-8&lt;br /&gt;
&lt;br /&gt;
===Окончание===&lt;br /&gt;
Далее просто делаем реконнект к серверу по SSH&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9B%D0%BE%D0%BA%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_FreeBSD_%D0%BD%D0%B0_UTF-8</id>
		<title>Локализация FreeBSD на UTF-8</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9B%D0%BE%D0%BA%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_FreeBSD_%D0%BD%D0%B0_UTF-8"/>
				<updated>2015-04-05T09:48:48Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: Новая страница: «Локализация FreeBSD на UTF-8  ===/etc/login.conf=== Открываем файл /etc/login.conf и находим секцию: russian|Russian Users…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Локализация FreeBSD на UTF-8&lt;br /&gt;
&lt;br /&gt;
===/etc/login.conf===&lt;br /&gt;
Открываем файл /etc/login.conf и находим секцию: russian|Russian Users Accounts&lt;br /&gt;
И заменяем текст на &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
russian|Russian Users Accounts:\&lt;br /&gt;
	:charset=UTF-8:\&lt;br /&gt;
	:lang=ru_RU.UTF-8:\&lt;br /&gt;
	:tc=default:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%92%D1%81%D0%B5_%D0%BE_FreeBSD</id>
		<title>Все о FreeBSD</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%92%D1%81%D0%B5_%D0%BE_FreeBSD"/>
				<updated>2015-04-05T09:46:30Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: Новая страница: «* Локализация FreeBSD на UTF-8»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Локализация FreeBSD на UTF-8]]&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0"/>
				<updated>2015-04-05T09:45:35Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Все о работе с базами данных]]&lt;br /&gt;
* [[Все о Linux]]&lt;br /&gt;
* [[Все о FreeBSD]]&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP</id>
		<title>Шифрование разделов dm-crypt, ключ шифрования на другом сервере на HTTP</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP"/>
				<updated>2014-08-06T17:31:57Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 6. Смена пароля */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Установка dm-crypt на Linux&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем Linux. Я ставил Ubuntu 9.10===&lt;br /&gt;
Для начала нам нужен пустой раздел, пусть у нас есть диск HDD на 300Gb&amp;lt;br&amp;gt;&lt;br /&gt;
При установке Ubuntu 9.10 разбиваем жесткий диск. Я лично разбил:&amp;lt;br&amp;gt;&lt;br /&gt;
Первый раздел - 30Gb - смонтировал на &amp;quot;/&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Второй раздел - 8Gb - SWAP&amp;lt;br&amp;gt;&lt;br /&gt;
Третий раздел - все остальное - при установке указал - . Все разделы делал первичными.&amp;lt;br&amp;gt;&lt;br /&gt;
Ну и далее ставим Ubuntu как обычно, без каких либо изменений.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки у меня получилось вот так:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/sda*&lt;br /&gt;
brw-rw---- 1 root disk 8, 0 2010-03-11 02:13 /dev/sda&lt;br /&gt;
brw-rw---- 1 root disk 8, 1 2010-03-11 02:13 /dev/sda1&lt;br /&gt;
brw-rw---- 1 root disk 8, 2 2010-03-11 02:13 /dev/sda2&lt;br /&gt;
brw-rw---- 1 root disk 8, 3 2010-03-11 02:13 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем dm-crypt===&lt;br /&gt;
Все действия необходимо делать из под пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
Установка:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install cryptsetup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Загружаем модуль:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
modprobe dm-crypt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавляем его в автозагрузку&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;dm-crypt&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Шифруем раздел===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksFormat /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нам зададут вопрос:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Are you sure? (Type uppercase yes):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Правильный ответ: &amp;quot;YES&amp;quot; - именно большими буквами.&amp;lt;br&amp;gt;&lt;br /&gt;
После чего нас спросят ключ для раздела&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим ключ (лучше всего 20-30 символов)&amp;lt;br&amp;gt;&lt;br /&gt;
Command successful.&amp;lt;br&amp;gt;&lt;br /&gt;
Обязательно запомните этот ключ.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для просмотра информации о разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Подключение раздела===&lt;br /&gt;
Ручной режим&lt;br /&gt;
Открываем раздел с именем data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При этом создастся устройство /dev/mapper/data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/mapper/*&lt;br /&gt;
crw-rw---- 1 root root  10, 60 2010-03-14 15:27 /dev/mapper/control&lt;br /&gt;
brw-rw---- 1 root disk 252,  0 2010-03-14 15:29 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Информация о подключенном разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
dmsetup info data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это устройство в 'расшифрованном виде', работать с data можно как с обычным блочным устройством.&amp;lt;br&amp;gt;&lt;br /&gt;
А следовательно для начала форматируем его&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И примонтируем&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Монтирование с ключом по HTTP===&lt;br /&gt;
Делаем скрип&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
keydisk=`/usr/bin/wget -q -O- http://website.ru/key.txt`&lt;br /&gt;
/bin/echo $keydisk | /sbin/cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
/bin/mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заставить его работать через crontab у меня не получилось скрипт, не работает. Но в принципе если это сервер который стоит в датацентре - то перезагружаться он не будет.&lt;br /&gt;
&lt;br /&gt;
===Размонтирование===&lt;br /&gt;
Отключить устройство от ФС&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
umount /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Закрыть раздел&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksClose /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Смена пароля===&lt;br /&gt;
Добавим еще один ключ для доступа&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим текущий пароль (или их может быть несколько)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter any LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее вводим новый пароль.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter new passphrase for key slot:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Смотрим на результат&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь когда у нас&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Key Slot 0: ENABLED&lt;br /&gt;
Key Slot 1: ENABLED&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно удалить первый - он же нулевой&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDelKey 0 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP</id>
		<title>Шифрование разделов dm-crypt, ключ шифрования на другом сервере на HTTP</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP"/>
				<updated>2014-08-06T17:31:50Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 5. Размонтирование */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Установка dm-crypt на Linux&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем Linux. Я ставил Ubuntu 9.10===&lt;br /&gt;
Для начала нам нужен пустой раздел, пусть у нас есть диск HDD на 300Gb&amp;lt;br&amp;gt;&lt;br /&gt;
При установке Ubuntu 9.10 разбиваем жесткий диск. Я лично разбил:&amp;lt;br&amp;gt;&lt;br /&gt;
Первый раздел - 30Gb - смонтировал на &amp;quot;/&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Второй раздел - 8Gb - SWAP&amp;lt;br&amp;gt;&lt;br /&gt;
Третий раздел - все остальное - при установке указал - . Все разделы делал первичными.&amp;lt;br&amp;gt;&lt;br /&gt;
Ну и далее ставим Ubuntu как обычно, без каких либо изменений.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки у меня получилось вот так:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/sda*&lt;br /&gt;
brw-rw---- 1 root disk 8, 0 2010-03-11 02:13 /dev/sda&lt;br /&gt;
brw-rw---- 1 root disk 8, 1 2010-03-11 02:13 /dev/sda1&lt;br /&gt;
brw-rw---- 1 root disk 8, 2 2010-03-11 02:13 /dev/sda2&lt;br /&gt;
brw-rw---- 1 root disk 8, 3 2010-03-11 02:13 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем dm-crypt===&lt;br /&gt;
Все действия необходимо делать из под пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
Установка:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install cryptsetup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Загружаем модуль:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
modprobe dm-crypt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавляем его в автозагрузку&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;dm-crypt&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Шифруем раздел===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksFormat /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нам зададут вопрос:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Are you sure? (Type uppercase yes):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Правильный ответ: &amp;quot;YES&amp;quot; - именно большими буквами.&amp;lt;br&amp;gt;&lt;br /&gt;
После чего нас спросят ключ для раздела&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим ключ (лучше всего 20-30 символов)&amp;lt;br&amp;gt;&lt;br /&gt;
Command successful.&amp;lt;br&amp;gt;&lt;br /&gt;
Обязательно запомните этот ключ.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для просмотра информации о разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Подключение раздела===&lt;br /&gt;
Ручной режим&lt;br /&gt;
Открываем раздел с именем data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При этом создастся устройство /dev/mapper/data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/mapper/*&lt;br /&gt;
crw-rw---- 1 root root  10, 60 2010-03-14 15:27 /dev/mapper/control&lt;br /&gt;
brw-rw---- 1 root disk 252,  0 2010-03-14 15:29 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Информация о подключенном разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
dmsetup info data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это устройство в 'расшифрованном виде', работать с data можно как с обычным блочным устройством.&amp;lt;br&amp;gt;&lt;br /&gt;
А следовательно для начала форматируем его&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И примонтируем&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Монтирование с ключом по HTTP===&lt;br /&gt;
Делаем скрип&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
keydisk=`/usr/bin/wget -q -O- http://website.ru/key.txt`&lt;br /&gt;
/bin/echo $keydisk | /sbin/cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
/bin/mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заставить его работать через crontab у меня не получилось скрипт, не работает. Но в принципе если это сервер который стоит в датацентре - то перезагружаться он не будет.&lt;br /&gt;
&lt;br /&gt;
===Размонтирование===&lt;br /&gt;
Отключить устройство от ФС&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
umount /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Закрыть раздел&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksClose /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===6. Смена пароля===&lt;br /&gt;
Добавим еще один ключ для доступа&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим текущий пароль (или их может быть несколько)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter any LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее вводим новый пароль.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter new passphrase for key slot:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Смотрим на результат&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь когда у нас&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Key Slot 0: ENABLED&lt;br /&gt;
Key Slot 1: ENABLED&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно удалить первый - он же нулевой&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDelKey 0 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP</id>
		<title>Шифрование разделов dm-crypt, ключ шифрования на другом сервере на HTTP</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP"/>
				<updated>2014-08-06T17:31:42Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Установка dm-crypt на Linux&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем Linux. Я ставил Ubuntu 9.10===&lt;br /&gt;
Для начала нам нужен пустой раздел, пусть у нас есть диск HDD на 300Gb&amp;lt;br&amp;gt;&lt;br /&gt;
При установке Ubuntu 9.10 разбиваем жесткий диск. Я лично разбил:&amp;lt;br&amp;gt;&lt;br /&gt;
Первый раздел - 30Gb - смонтировал на &amp;quot;/&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Второй раздел - 8Gb - SWAP&amp;lt;br&amp;gt;&lt;br /&gt;
Третий раздел - все остальное - при установке указал - . Все разделы делал первичными.&amp;lt;br&amp;gt;&lt;br /&gt;
Ну и далее ставим Ubuntu как обычно, без каких либо изменений.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки у меня получилось вот так:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/sda*&lt;br /&gt;
brw-rw---- 1 root disk 8, 0 2010-03-11 02:13 /dev/sda&lt;br /&gt;
brw-rw---- 1 root disk 8, 1 2010-03-11 02:13 /dev/sda1&lt;br /&gt;
brw-rw---- 1 root disk 8, 2 2010-03-11 02:13 /dev/sda2&lt;br /&gt;
brw-rw---- 1 root disk 8, 3 2010-03-11 02:13 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем dm-crypt===&lt;br /&gt;
Все действия необходимо делать из под пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
Установка:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install cryptsetup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Загружаем модуль:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
modprobe dm-crypt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавляем его в автозагрузку&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;dm-crypt&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Шифруем раздел===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksFormat /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нам зададут вопрос:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Are you sure? (Type uppercase yes):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Правильный ответ: &amp;quot;YES&amp;quot; - именно большими буквами.&amp;lt;br&amp;gt;&lt;br /&gt;
После чего нас спросят ключ для раздела&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим ключ (лучше всего 20-30 символов)&amp;lt;br&amp;gt;&lt;br /&gt;
Command successful.&amp;lt;br&amp;gt;&lt;br /&gt;
Обязательно запомните этот ключ.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для просмотра информации о разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Подключение раздела===&lt;br /&gt;
Ручной режим&lt;br /&gt;
Открываем раздел с именем data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При этом создастся устройство /dev/mapper/data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/mapper/*&lt;br /&gt;
crw-rw---- 1 root root  10, 60 2010-03-14 15:27 /dev/mapper/control&lt;br /&gt;
brw-rw---- 1 root disk 252,  0 2010-03-14 15:29 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Информация о подключенном разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
dmsetup info data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это устройство в 'расшифрованном виде', работать с data можно как с обычным блочным устройством.&amp;lt;br&amp;gt;&lt;br /&gt;
А следовательно для начала форматируем его&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И примонтируем&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Монтирование с ключом по HTTP===&lt;br /&gt;
Делаем скрип&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
keydisk=`/usr/bin/wget -q -O- http://website.ru/key.txt`&lt;br /&gt;
/bin/echo $keydisk | /sbin/cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
/bin/mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Заставить его работать через crontab у меня не получилось скрипт, не работает. Но в принципе если это сервер который стоит в датацентре - то перезагружаться он не будет.&lt;br /&gt;
&lt;br /&gt;
===5. Размонтирование===&lt;br /&gt;
Отключить устройство от ФС&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
umount /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Закрыть раздел&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksClose /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===6. Смена пароля===&lt;br /&gt;
Добавим еще один ключ для доступа&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим текущий пароль (или их может быть несколько)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter any LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее вводим новый пароль.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter new passphrase for key slot:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Смотрим на результат&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь когда у нас&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Key Slot 0: ENABLED&lt;br /&gt;
Key Slot 1: ENABLED&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно удалить первый - он же нулевой&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDelKey 0 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP</id>
		<title>Шифрование разделов dm-crypt, ключ шифрования на другом сервере на HTTP</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP"/>
				<updated>2014-08-06T17:30:41Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 6. Смена пароля */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Установка dm-crypt на Linux&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем Linux. Я ставил Ubuntu 9.10===&lt;br /&gt;
Для начала нам нужен пустой раздел, пусть у нас есть диск HDD на 300Gb&amp;lt;br&amp;gt;&lt;br /&gt;
При установке Ubuntu 9.10 разбиваем жесткий диск. Я лично разбил:&amp;lt;br&amp;gt;&lt;br /&gt;
Первый раздел - 30Gb - смонтировал на &amp;quot;/&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Второй раздел - 8Gb - SWAP&amp;lt;br&amp;gt;&lt;br /&gt;
Третий раздел - все остальное - при установке указал - . Все разделы делал первичными.&amp;lt;br&amp;gt;&lt;br /&gt;
Ну и далее ставим Ubuntu как обычно, без каких либо изменений.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки у меня получилось вот так:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/sda*&lt;br /&gt;
brw-rw---- 1 root disk 8, 0 2010-03-11 02:13 /dev/sda&lt;br /&gt;
brw-rw---- 1 root disk 8, 1 2010-03-11 02:13 /dev/sda1&lt;br /&gt;
brw-rw---- 1 root disk 8, 2 2010-03-11 02:13 /dev/sda2&lt;br /&gt;
brw-rw---- 1 root disk 8, 3 2010-03-11 02:13 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем dm-crypt===&lt;br /&gt;
Все действия необходимо делать из под пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
Установка:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install cryptsetup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Загружаем модуль:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
modprobe dm-crypt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавляем его в автозагрузку&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;dm-crypt&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Шифруем раздел===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksFormat /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нам зададут вопрос:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Are you sure? (Type uppercase yes):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Правильный ответ: &amp;quot;YES&amp;quot; - именно большими буквами.&amp;lt;br&amp;gt;&lt;br /&gt;
После чего нас спросят ключ для раздела&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим ключ (лучше всего 20-30 символов)&amp;lt;br&amp;gt;&lt;br /&gt;
Command successful.&amp;lt;br&amp;gt;&lt;br /&gt;
Обязательно запомните этот ключ.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для просмотра информации о разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Подключение раздела===&lt;br /&gt;
Ручной режим&lt;br /&gt;
Открываем раздел с именем data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При этом создастся устройство /dev/mapper/data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/mapper/*&lt;br /&gt;
crw-rw---- 1 root root  10, 60 2010-03-14 15:27 /dev/mapper/control&lt;br /&gt;
brw-rw---- 1 root disk 252,  0 2010-03-14 15:29 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Информация о подключенном разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
dmsetup info data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это устройство в 'расшифрованном виде', работать с data можно как с обычным блочным устройством.&amp;lt;br&amp;gt;&lt;br /&gt;
А следовательно для начала форматируем его&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И примонтируем&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Монтирование с ключом по HTTP===&lt;br /&gt;
Делаем скриптик&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
keydisk=`/usr/bin/wget -q -O- http://website.ru/key.txt`&lt;br /&gt;
/bin/echo $keydisk | /sbin/cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
/bin/mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Запихнуть в crontab у меня не получилось скриптик, не работает. Но в принципе если это сервер который стоит в датацентре - то перезагружаться он не будет.&lt;br /&gt;
&lt;br /&gt;
===5. Размонтирование===&lt;br /&gt;
Отключить устройство от ФС&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
umount /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Закрыть раздел&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksClose /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===6. Смена пароля===&lt;br /&gt;
Добавим еще один ключ для доступа&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим текущий пароль (или их может быть несколько)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter any LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее вводим новый пароль.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter new passphrase for key slot:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Смотрим на результат&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь когда у нас&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Key Slot 0: ENABLED&lt;br /&gt;
Key Slot 1: ENABLED&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно удалить первый - он же нулевой&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDelKey 0 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP</id>
		<title>Шифрование разделов dm-crypt, ключ шифрования на другом сервере на HTTP</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP"/>
				<updated>2014-08-06T17:29:54Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* Подключение раздела */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Установка dm-crypt на Linux&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем Linux. Я ставил Ubuntu 9.10===&lt;br /&gt;
Для начала нам нужен пустой раздел, пусть у нас есть диск HDD на 300Gb&amp;lt;br&amp;gt;&lt;br /&gt;
При установке Ubuntu 9.10 разбиваем жесткий диск. Я лично разбил:&amp;lt;br&amp;gt;&lt;br /&gt;
Первый раздел - 30Gb - смонтировал на &amp;quot;/&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Второй раздел - 8Gb - SWAP&amp;lt;br&amp;gt;&lt;br /&gt;
Третий раздел - все остальное - при установке указал - . Все разделы делал первичными.&amp;lt;br&amp;gt;&lt;br /&gt;
Ну и далее ставим Ubuntu как обычно, без каких либо изменений.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки у меня получилось вот так:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/sda*&lt;br /&gt;
brw-rw---- 1 root disk 8, 0 2010-03-11 02:13 /dev/sda&lt;br /&gt;
brw-rw---- 1 root disk 8, 1 2010-03-11 02:13 /dev/sda1&lt;br /&gt;
brw-rw---- 1 root disk 8, 2 2010-03-11 02:13 /dev/sda2&lt;br /&gt;
brw-rw---- 1 root disk 8, 3 2010-03-11 02:13 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем dm-crypt===&lt;br /&gt;
Все действия необходимо делать из под пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
Установка:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install cryptsetup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Загружаем модуль:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
modprobe dm-crypt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавляем его в автозагрузку&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;dm-crypt&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Шифруем раздел===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksFormat /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нам зададут вопрос:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Are you sure? (Type uppercase yes):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Правильный ответ: &amp;quot;YES&amp;quot; - именно большими буквами.&amp;lt;br&amp;gt;&lt;br /&gt;
После чего нас спросят ключ для раздела&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим ключ (лучше всего 20-30 символов)&amp;lt;br&amp;gt;&lt;br /&gt;
Command successful.&amp;lt;br&amp;gt;&lt;br /&gt;
Обязательно запомните этот ключ.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для просмотра информации о разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Подключение раздела===&lt;br /&gt;
Ручной режим&lt;br /&gt;
Открываем раздел с именем data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При этом создастся устройство /dev/mapper/data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/mapper/*&lt;br /&gt;
crw-rw---- 1 root root  10, 60 2010-03-14 15:27 /dev/mapper/control&lt;br /&gt;
brw-rw---- 1 root disk 252,  0 2010-03-14 15:29 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Информация о подключенном разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
dmsetup info data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это устройство в 'расшифрованном виде', работать с data можно как с обычным блочным устройством.&amp;lt;br&amp;gt;&lt;br /&gt;
А следовательно для начала форматируем его&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И примонтируем&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Монтирование с ключом по HTTP===&lt;br /&gt;
Делаем скриптик&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
keydisk=`/usr/bin/wget -q -O- http://website.ru/key.txt`&lt;br /&gt;
/bin/echo $keydisk | /sbin/cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
/bin/mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Запихнуть в crontab у меня не получилось скриптик, не работает. Но в принципе если это сервер который стоит в датацентре - то перезагружаться он не будет.&lt;br /&gt;
&lt;br /&gt;
===5. Размонтирование===&lt;br /&gt;
Отключить устройство от ФС&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
umount /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Закрыть раздел&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksClose /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===6. Смена пароля===&lt;br /&gt;
Добавим еще один ключ для доступа&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим текущий пароль (или их может быть несколько)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter any LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее вводим новый пароль.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter new passphrase for key slot:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Смотрим на результат&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Теперь когда у нас&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Key Slot 0: ENABLED&lt;br /&gt;
Key Slot 1: ENABLED&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно удалить первый - он же нулевой&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDelKey 0 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP</id>
		<title>Шифрование разделов dm-crypt, ключ шифрования на другом сервере на HTTP</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP"/>
				<updated>2014-08-06T17:28:49Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* Подключение раздела */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Установка dm-crypt на Linux&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем Linux. Я ставил Ubuntu 9.10===&lt;br /&gt;
Для начала нам нужен пустой раздел, пусть у нас есть диск HDD на 300Gb&amp;lt;br&amp;gt;&lt;br /&gt;
При установке Ubuntu 9.10 разбиваем жесткий диск. Я лично разбил:&amp;lt;br&amp;gt;&lt;br /&gt;
Первый раздел - 30Gb - смонтировал на &amp;quot;/&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Второй раздел - 8Gb - SWAP&amp;lt;br&amp;gt;&lt;br /&gt;
Третий раздел - все остальное - при установке указал - . Все разделы делал первичными.&amp;lt;br&amp;gt;&lt;br /&gt;
Ну и далее ставим Ubuntu как обычно, без каких либо изменений.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки у меня получилось вот так:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/sda*&lt;br /&gt;
brw-rw---- 1 root disk 8, 0 2010-03-11 02:13 /dev/sda&lt;br /&gt;
brw-rw---- 1 root disk 8, 1 2010-03-11 02:13 /dev/sda1&lt;br /&gt;
brw-rw---- 1 root disk 8, 2 2010-03-11 02:13 /dev/sda2&lt;br /&gt;
brw-rw---- 1 root disk 8, 3 2010-03-11 02:13 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем dm-crypt===&lt;br /&gt;
Все действия необходимо делать из под пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
Установка:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install cryptsetup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Загружаем модуль:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
modprobe dm-crypt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавляем его в автозагрузку&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;dm-crypt&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Шифруем раздел===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksFormat /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нам зададут вопрос:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Are you sure? (Type uppercase yes):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Правильный ответ: &amp;quot;YES&amp;quot; - именно большими буквами.&amp;lt;br&amp;gt;&lt;br /&gt;
После чего нас спросят ключ для раздела&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим ключ (лучше всего 20-30 символов)&amp;lt;br&amp;gt;&lt;br /&gt;
Command successful.&amp;lt;br&amp;gt;&lt;br /&gt;
Обязательно запомните этот ключ.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для просмотра информации о разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Подключение раздела===&lt;br /&gt;
Ручной режим&lt;br /&gt;
Открываем раздел с именем data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При этом создастся устройство /dev/mapper/data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/mapper/*&lt;br /&gt;
crw-rw---- 1 root root  10, 60 2010-03-14 15:27 /dev/mapper/control&lt;br /&gt;
brw-rw---- 1 root disk 252,  0 2010-03-14 15:29 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Информация о подключенном разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
dmsetup info data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это устройство в 'расшифрованном виде', работать с data можно как с обычным блочным устройством.&amp;lt;br&amp;gt;&lt;br /&gt;
А следовательно для начала форматируем его&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И примонтируем&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Монтирование с ключом по HTTP&lt;br /&gt;
Делаем скриптик&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
keydisk=`/usr/bin/wget -q -O- http://website.ru/key.txt`&lt;br /&gt;
/bin/echo $keydisk | /sbin/cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
/bin/mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Запихнуть в crontab у меня не получилось скриптик, не работает. Но в принципе если это сервер который стоит в датацентре - то перезагружаться он не будет.&lt;br /&gt;
&lt;br /&gt;
===5. Размонтирование===&lt;br /&gt;
Отключить устройство от ФС&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
umount /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Закрыть раздел&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksClose /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===6. Смена пароля===&lt;br /&gt;
Добавим еще один ключ для доступа&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим текущий пароль (или их может быть несколько)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter any LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее вводим новый пароль.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter new passphrase for key slot:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Смотрим на результат&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Теперь когда у нас&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Key Slot 0: ENABLED&lt;br /&gt;
Key Slot 1: ENABLED&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно удалить первый - он же нулевой&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDelKey 0 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP</id>
		<title>Шифрование разделов dm-crypt, ключ шифрования на другом сервере на HTTP</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP"/>
				<updated>2014-08-06T17:27:41Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* Шифруем раздел */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Установка dm-crypt на Linux&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем Linux. Я ставил Ubuntu 9.10===&lt;br /&gt;
Для начала нам нужен пустой раздел, пусть у нас есть диск HDD на 300Gb&amp;lt;br&amp;gt;&lt;br /&gt;
При установке Ubuntu 9.10 разбиваем жесткий диск. Я лично разбил:&amp;lt;br&amp;gt;&lt;br /&gt;
Первый раздел - 30Gb - смонтировал на &amp;quot;/&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Второй раздел - 8Gb - SWAP&amp;lt;br&amp;gt;&lt;br /&gt;
Третий раздел - все остальное - при установке указал - . Все разделы делал первичными.&amp;lt;br&amp;gt;&lt;br /&gt;
Ну и далее ставим Ubuntu как обычно, без каких либо изменений.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки у меня получилось вот так:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/sda*&lt;br /&gt;
brw-rw---- 1 root disk 8, 0 2010-03-11 02:13 /dev/sda&lt;br /&gt;
brw-rw---- 1 root disk 8, 1 2010-03-11 02:13 /dev/sda1&lt;br /&gt;
brw-rw---- 1 root disk 8, 2 2010-03-11 02:13 /dev/sda2&lt;br /&gt;
brw-rw---- 1 root disk 8, 3 2010-03-11 02:13 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем dm-crypt===&lt;br /&gt;
Все действия необходимо делать из под пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
Установка:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install cryptsetup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Загружаем модуль:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
modprobe dm-crypt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавляем его в автозагрузку&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;dm-crypt&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Шифруем раздел===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksFormat /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нам зададут вопрос:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Are you sure? (Type uppercase yes):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Правильный ответ: &amp;quot;YES&amp;quot; - именно большими буквами.&amp;lt;br&amp;gt;&lt;br /&gt;
После чего нас спросят ключ для раздела&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим ключ (лучше всего 20-30 символов)&amp;lt;br&amp;gt;&lt;br /&gt;
Command successful.&amp;lt;br&amp;gt;&lt;br /&gt;
Обязательно запомните этот ключ.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для просмотра информации о разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Подключение раздела===&lt;br /&gt;
Ручной режим&lt;br /&gt;
Открываем раздел с именем data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При этом создастся устройство /dev/mapper/data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/mapper/*&lt;br /&gt;
crw-rw---- 1 root root  10, 60 2010-03-14 15:27 /dev/mapper/control&lt;br /&gt;
brw-rw---- 1 root disk 252,  0 2010-03-14 15:29 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Информация о подключенном разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
dmsetup info data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это устройство в 'расшифрованном виде', работать с data можно как с обычным блочным устройством.&lt;br /&gt;
А следовательно для начала форматируем его&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И примантируем&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Монтирование с ключем по HTTP&lt;br /&gt;
Делаем скриптик&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
keydisk=`/usr/bin/wget -q -O- http://website.ru/key.txt`&lt;br /&gt;
/bin/echo $keydisk | /sbin/cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
/bin/mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Запихнуть в crontab у меня не получилось скриптик, не работает. Но в принципе если это сервер который стоит в датацентре - то перезагружаться он не будет.&lt;br /&gt;
&lt;br /&gt;
===5. Размонтирование===&lt;br /&gt;
Отключить устройство от ФС&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
umount /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Закрыть раздел&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksClose /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===6. Смена пароля===&lt;br /&gt;
Добавим еще один ключ для доступа&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим текущий пароль (или их может быть несколько)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter any LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее вводим новый пароль.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter new passphrase for key slot:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Смотрим на результат&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Теперь когда у нас&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Key Slot 0: ENABLED&lt;br /&gt;
Key Slot 1: ENABLED&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно удалить первый - он же нулевой&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDelKey 0 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP</id>
		<title>Шифрование разделов dm-crypt, ключ шифрования на другом сервере на HTTP</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP"/>
				<updated>2014-08-06T17:27:25Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* Шифруем раздел */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Установка dm-crypt на Linux&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем Linux. Я ставил Ubuntu 9.10===&lt;br /&gt;
Для начала нам нужен пустой раздел, пусть у нас есть диск HDD на 300Gb&amp;lt;br&amp;gt;&lt;br /&gt;
При установке Ubuntu 9.10 разбиваем жесткий диск. Я лично разбил:&amp;lt;br&amp;gt;&lt;br /&gt;
Первый раздел - 30Gb - смонтировал на &amp;quot;/&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Второй раздел - 8Gb - SWAP&amp;lt;br&amp;gt;&lt;br /&gt;
Третий раздел - все остальное - при установке указал - . Все разделы делал первичными.&amp;lt;br&amp;gt;&lt;br /&gt;
Ну и далее ставим Ubuntu как обычно, без каких либо изменений.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки у меня получилось вот так:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/sda*&lt;br /&gt;
brw-rw---- 1 root disk 8, 0 2010-03-11 02:13 /dev/sda&lt;br /&gt;
brw-rw---- 1 root disk 8, 1 2010-03-11 02:13 /dev/sda1&lt;br /&gt;
brw-rw---- 1 root disk 8, 2 2010-03-11 02:13 /dev/sda2&lt;br /&gt;
brw-rw---- 1 root disk 8, 3 2010-03-11 02:13 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем dm-crypt===&lt;br /&gt;
Все действия необходимо делать из под пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
Установка:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install cryptsetup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Загружаем модуль:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
modprobe dm-crypt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавляем его в автозагрузку&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;dm-crypt&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Шифруем раздел===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksFormat /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нам зададут вопрос:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Are you sure? (Type uppercase yes):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Правильный ответ: &amp;quot;YES&amp;quot; - именно большими буквами.&amp;lt;br&amp;gt;&lt;br /&gt;
После чего нас спросят ключ для раздела&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим ключ (лучше всего 20-30 символов)&amp;lt;br&amp;gt;&lt;br /&gt;
Command successful.&amp;lt;br&amp;gt;&lt;br /&gt;
Обязательно запомните этот ключ.&lt;br /&gt;
&lt;br /&gt;
Для просмотра информации о разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Подключение раздела===&lt;br /&gt;
Ручной режим&lt;br /&gt;
Открываем раздел с именем data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При этом создастся устройство /dev/mapper/data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/mapper/*&lt;br /&gt;
crw-rw---- 1 root root  10, 60 2010-03-14 15:27 /dev/mapper/control&lt;br /&gt;
brw-rw---- 1 root disk 252,  0 2010-03-14 15:29 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Информация о подключенном разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
dmsetup info data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это устройство в 'расшифрованном виде', работать с data можно как с обычным блочным устройством.&lt;br /&gt;
А следовательно для начала форматируем его&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И примантируем&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Монтирование с ключем по HTTP&lt;br /&gt;
Делаем скриптик&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
keydisk=`/usr/bin/wget -q -O- http://website.ru/key.txt`&lt;br /&gt;
/bin/echo $keydisk | /sbin/cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
/bin/mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Запихнуть в crontab у меня не получилось скриптик, не работает. Но в принципе если это сервер который стоит в датацентре - то перезагружаться он не будет.&lt;br /&gt;
&lt;br /&gt;
===5. Размонтирование===&lt;br /&gt;
Отключить устройство от ФС&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
umount /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Закрыть раздел&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksClose /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===6. Смена пароля===&lt;br /&gt;
Добавим еще один ключ для доступа&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим текущий пароль (или их может быть несколько)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter any LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее вводим новый пароль.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter new passphrase for key slot:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Смотрим на результат&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Теперь когда у нас&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Key Slot 0: ENABLED&lt;br /&gt;
Key Slot 1: ENABLED&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно удалить первый - он же нулевой&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDelKey 0 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP</id>
		<title>Шифрование разделов dm-crypt, ключ шифрования на другом сервере на HTTP</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP"/>
				<updated>2014-08-06T17:26:37Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 4. Подключение раздела */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Установка dm-crypt на Linux&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем Linux. Я ставил Ubuntu 9.10===&lt;br /&gt;
Для начала нам нужен пустой раздел, пусть у нас есть диск HDD на 300Gb&amp;lt;br&amp;gt;&lt;br /&gt;
При установке Ubuntu 9.10 разбиваем жесткий диск. Я лично разбил:&amp;lt;br&amp;gt;&lt;br /&gt;
Первый раздел - 30Gb - смонтировал на &amp;quot;/&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Второй раздел - 8Gb - SWAP&amp;lt;br&amp;gt;&lt;br /&gt;
Третий раздел - все остальное - при установке указал - . Все разделы делал первичными.&amp;lt;br&amp;gt;&lt;br /&gt;
Ну и далее ставим Ubuntu как обычно, без каких либо изменений.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки у меня получилось вот так:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/sda*&lt;br /&gt;
brw-rw---- 1 root disk 8, 0 2010-03-11 02:13 /dev/sda&lt;br /&gt;
brw-rw---- 1 root disk 8, 1 2010-03-11 02:13 /dev/sda1&lt;br /&gt;
brw-rw---- 1 root disk 8, 2 2010-03-11 02:13 /dev/sda2&lt;br /&gt;
brw-rw---- 1 root disk 8, 3 2010-03-11 02:13 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем dm-crypt===&lt;br /&gt;
Все действия необходимо делать из под пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
Установка:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install cryptsetup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Загружаем модуль:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
modprobe dm-crypt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавляем его в автозагрузку&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;dm-crypt&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Шифруем раздел===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksFormat /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нам зададут вопрос:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Are you sure? (Type uppercase yes):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Правильный ответ: &amp;quot;YES&amp;quot; - именно большими буквами.&lt;br /&gt;
После чего нас спросят ключ для раздела&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим ключ (лучше всего 20-30 символов)&lt;br /&gt;
Command successful.&lt;br /&gt;
Обязательно запомните этот ключ.&lt;br /&gt;
&lt;br /&gt;
Для просмотра информации о разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Подключение раздела===&lt;br /&gt;
Ручной режим&lt;br /&gt;
Открываем раздел с именем data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При этом создастся устройство /dev/mapper/data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/mapper/*&lt;br /&gt;
crw-rw---- 1 root root  10, 60 2010-03-14 15:27 /dev/mapper/control&lt;br /&gt;
brw-rw---- 1 root disk 252,  0 2010-03-14 15:29 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Информация о подключенном разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
dmsetup info data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это устройство в 'расшифрованном виде', работать с data можно как с обычным блочным устройством.&lt;br /&gt;
А следовательно для начала форматируем его&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И примантируем&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Монтирование с ключем по HTTP&lt;br /&gt;
Делаем скриптик&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
keydisk=`/usr/bin/wget -q -O- http://website.ru/key.txt`&lt;br /&gt;
/bin/echo $keydisk | /sbin/cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
/bin/mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Запихнуть в crontab у меня не получилось скриптик, не работает. Но в принципе если это сервер который стоит в датацентре - то перезагружаться он не будет.&lt;br /&gt;
&lt;br /&gt;
===5. Размонтирование===&lt;br /&gt;
Отключить устройство от ФС&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
umount /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Закрыть раздел&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksClose /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===6. Смена пароля===&lt;br /&gt;
Добавим еще один ключ для доступа&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим текущий пароль (или их может быть несколько)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter any LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее вводим новый пароль.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter new passphrase for key slot:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Смотрим на результат&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Теперь когда у нас&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Key Slot 0: ENABLED&lt;br /&gt;
Key Slot 1: ENABLED&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно удалить первый - он же нулевой&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDelKey 0 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP</id>
		<title>Шифрование разделов dm-crypt, ключ шифрования на другом сервере на HTTP</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP"/>
				<updated>2014-08-06T17:26:30Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 3. Шифруем раздел */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Установка dm-crypt на Linux&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем Linux. Я ставил Ubuntu 9.10===&lt;br /&gt;
Для начала нам нужен пустой раздел, пусть у нас есть диск HDD на 300Gb&amp;lt;br&amp;gt;&lt;br /&gt;
При установке Ubuntu 9.10 разбиваем жесткий диск. Я лично разбил:&amp;lt;br&amp;gt;&lt;br /&gt;
Первый раздел - 30Gb - смонтировал на &amp;quot;/&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Второй раздел - 8Gb - SWAP&amp;lt;br&amp;gt;&lt;br /&gt;
Третий раздел - все остальное - при установке указал - . Все разделы делал первичными.&amp;lt;br&amp;gt;&lt;br /&gt;
Ну и далее ставим Ubuntu как обычно, без каких либо изменений.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки у меня получилось вот так:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/sda*&lt;br /&gt;
brw-rw---- 1 root disk 8, 0 2010-03-11 02:13 /dev/sda&lt;br /&gt;
brw-rw---- 1 root disk 8, 1 2010-03-11 02:13 /dev/sda1&lt;br /&gt;
brw-rw---- 1 root disk 8, 2 2010-03-11 02:13 /dev/sda2&lt;br /&gt;
brw-rw---- 1 root disk 8, 3 2010-03-11 02:13 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем dm-crypt===&lt;br /&gt;
Все действия необходимо делать из под пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
Установка:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install cryptsetup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Загружаем модуль:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
modprobe dm-crypt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавляем его в автозагрузку&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;dm-crypt&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Шифруем раздел===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksFormat /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нам зададут вопрос:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Are you sure? (Type uppercase yes):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Правильный ответ: &amp;quot;YES&amp;quot; - именно большими буквами.&lt;br /&gt;
После чего нас спросят ключ для раздела&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим ключ (лучше всего 20-30 символов)&lt;br /&gt;
Command successful.&lt;br /&gt;
Обязательно запомните этот ключ.&lt;br /&gt;
&lt;br /&gt;
Для просмотра информации о разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===4. Подключение раздела===&lt;br /&gt;
Ручной режим&lt;br /&gt;
Открываем раздел с именем data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При этом создастся устройство /dev/mapper/data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/mapper/*&lt;br /&gt;
crw-rw---- 1 root root  10, 60 2010-03-14 15:27 /dev/mapper/control&lt;br /&gt;
brw-rw---- 1 root disk 252,  0 2010-03-14 15:29 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Информация о подключенном разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
dmsetup info data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это устройство в 'расшифрованном виде', работать с data можно как с обычным блочным устройством.&lt;br /&gt;
А следовательно для начала форматируем его&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И примантируем&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Монтирование с ключем по HTTP&lt;br /&gt;
Делаем скриптик&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
keydisk=`/usr/bin/wget -q -O- http://website.ru/key.txt`&lt;br /&gt;
/bin/echo $keydisk | /sbin/cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
/bin/mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Запихнуть в crontab у меня не получилось скриптик, не работает. Но в принципе если это сервер который стоит в датацентре - то перезагружаться он не будет.&lt;br /&gt;
&lt;br /&gt;
===5. Размонтирование===&lt;br /&gt;
Отключить устройство от ФС&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
umount /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Закрыть раздел&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksClose /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===6. Смена пароля===&lt;br /&gt;
Добавим еще один ключ для доступа&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим текущий пароль (или их может быть несколько)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter any LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее вводим новый пароль.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter new passphrase for key slot:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Смотрим на результат&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Теперь когда у нас&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Key Slot 0: ENABLED&lt;br /&gt;
Key Slot 1: ENABLED&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно удалить первый - он же нулевой&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDelKey 0 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP</id>
		<title>Шифрование разделов dm-crypt, ключ шифрования на другом сервере на HTTP</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP"/>
				<updated>2014-08-06T17:26:24Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 2. Устанавливаем dm-crypt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Установка dm-crypt на Linux&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем Linux. Я ставил Ubuntu 9.10===&lt;br /&gt;
Для начала нам нужен пустой раздел, пусть у нас есть диск HDD на 300Gb&amp;lt;br&amp;gt;&lt;br /&gt;
При установке Ubuntu 9.10 разбиваем жесткий диск. Я лично разбил:&amp;lt;br&amp;gt;&lt;br /&gt;
Первый раздел - 30Gb - смонтировал на &amp;quot;/&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Второй раздел - 8Gb - SWAP&amp;lt;br&amp;gt;&lt;br /&gt;
Третий раздел - все остальное - при установке указал - . Все разделы делал первичными.&amp;lt;br&amp;gt;&lt;br /&gt;
Ну и далее ставим Ubuntu как обычно, без каких либо изменений.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки у меня получилось вот так:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/sda*&lt;br /&gt;
brw-rw---- 1 root disk 8, 0 2010-03-11 02:13 /dev/sda&lt;br /&gt;
brw-rw---- 1 root disk 8, 1 2010-03-11 02:13 /dev/sda1&lt;br /&gt;
brw-rw---- 1 root disk 8, 2 2010-03-11 02:13 /dev/sda2&lt;br /&gt;
brw-rw---- 1 root disk 8, 3 2010-03-11 02:13 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем dm-crypt===&lt;br /&gt;
Все действия необходимо делать из под пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
Установка:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install cryptsetup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Загружаем модуль:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
modprobe dm-crypt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавляем его в автозагрузку&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;dm-crypt&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===3. Шифруем раздел===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksFormat /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нам зададут вопрос:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Are you sure? (Type uppercase yes):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Правильный ответ: &amp;quot;YES&amp;quot; - именно большими буквами.&lt;br /&gt;
После чего нас спросят ключ для раздела&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим ключ (лучше всего 20-30 символов)&lt;br /&gt;
Command successful.&lt;br /&gt;
Обязательно запомните этот ключ.&lt;br /&gt;
&lt;br /&gt;
Для просмотра информации о разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===4. Подключение раздела===&lt;br /&gt;
Ручной режим&lt;br /&gt;
Открываем раздел с именем data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При этом создастся устройство /dev/mapper/data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/mapper/*&lt;br /&gt;
crw-rw---- 1 root root  10, 60 2010-03-14 15:27 /dev/mapper/control&lt;br /&gt;
brw-rw---- 1 root disk 252,  0 2010-03-14 15:29 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Информация о подключенном разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
dmsetup info data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это устройство в 'расшифрованном виде', работать с data можно как с обычным блочным устройством.&lt;br /&gt;
А следовательно для начала форматируем его&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И примантируем&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Монтирование с ключем по HTTP&lt;br /&gt;
Делаем скриптик&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
keydisk=`/usr/bin/wget -q -O- http://website.ru/key.txt`&lt;br /&gt;
/bin/echo $keydisk | /sbin/cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
/bin/mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Запихнуть в crontab у меня не получилось скриптик, не работает. Но в принципе если это сервер который стоит в датацентре - то перезагружаться он не будет.&lt;br /&gt;
&lt;br /&gt;
===5. Размонтирование===&lt;br /&gt;
Отключить устройство от ФС&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
umount /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Закрыть раздел&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksClose /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===6. Смена пароля===&lt;br /&gt;
Добавим еще один ключ для доступа&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим текущий пароль (или их может быть несколько)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter any LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее вводим новый пароль.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter new passphrase for key slot:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Смотрим на результат&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Теперь когда у нас&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Key Slot 0: ENABLED&lt;br /&gt;
Key Slot 1: ENABLED&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно удалить первый - он же нулевой&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDelKey 0 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP</id>
		<title>Шифрование разделов dm-crypt, ключ шифрования на другом сервере на HTTP</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP"/>
				<updated>2014-08-06T17:26:16Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 1. Устанавливаем Linux. Я ставил Ubuntu 9.10 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Установка dm-crypt на Linux&lt;br /&gt;
&lt;br /&gt;
===Устанавливаем Linux. Я ставил Ubuntu 9.10===&lt;br /&gt;
Для начала нам нужен пустой раздел, пусть у нас есть диск HDD на 300Gb&amp;lt;br&amp;gt;&lt;br /&gt;
При установке Ubuntu 9.10 разбиваем жесткий диск. Я лично разбил:&amp;lt;br&amp;gt;&lt;br /&gt;
Первый раздел - 30Gb - смонтировал на &amp;quot;/&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Второй раздел - 8Gb - SWAP&amp;lt;br&amp;gt;&lt;br /&gt;
Третий раздел - все остальное - при установке указал - . Все разделы делал первичными.&amp;lt;br&amp;gt;&lt;br /&gt;
Ну и далее ставим Ubuntu как обычно, без каких либо изменений.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки у меня получилось вот так:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/sda*&lt;br /&gt;
brw-rw---- 1 root disk 8, 0 2010-03-11 02:13 /dev/sda&lt;br /&gt;
brw-rw---- 1 root disk 8, 1 2010-03-11 02:13 /dev/sda1&lt;br /&gt;
brw-rw---- 1 root disk 8, 2 2010-03-11 02:13 /dev/sda2&lt;br /&gt;
brw-rw---- 1 root disk 8, 3 2010-03-11 02:13 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Устанавливаем dm-crypt===&lt;br /&gt;
Все действия необходимо делать из под пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
Установка:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install cryptsetup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Загружаем модуль:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
modprobe dm-crypt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавляем его в автозагрузку&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;dm-crypt&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===3. Шифруем раздел===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksFormat /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нам зададут вопрос:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Are you sure? (Type uppercase yes):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Правильный ответ: &amp;quot;YES&amp;quot; - именно большими буквами.&lt;br /&gt;
После чего нас спросят ключ для раздела&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим ключ (лучше всего 20-30 символов)&lt;br /&gt;
Command successful.&lt;br /&gt;
Обязательно запомните этот ключ.&lt;br /&gt;
&lt;br /&gt;
Для просмотра информации о разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===4. Подключение раздела===&lt;br /&gt;
Ручной режим&lt;br /&gt;
Открываем раздел с именем data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При этом создастся устройство /dev/mapper/data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/mapper/*&lt;br /&gt;
crw-rw---- 1 root root  10, 60 2010-03-14 15:27 /dev/mapper/control&lt;br /&gt;
brw-rw---- 1 root disk 252,  0 2010-03-14 15:29 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Информация о подключенном разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
dmsetup info data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это устройство в 'расшифрованном виде', работать с data можно как с обычным блочным устройством.&lt;br /&gt;
А следовательно для начала форматируем его&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И примантируем&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Монтирование с ключем по HTTP&lt;br /&gt;
Делаем скриптик&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
keydisk=`/usr/bin/wget -q -O- http://website.ru/key.txt`&lt;br /&gt;
/bin/echo $keydisk | /sbin/cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
/bin/mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Запихнуть в crontab у меня не получилось скриптик, не работает. Но в принципе если это сервер который стоит в датацентре - то перезагружаться он не будет.&lt;br /&gt;
&lt;br /&gt;
===5. Размонтирование===&lt;br /&gt;
Отключить устройство от ФС&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
umount /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Закрыть раздел&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksClose /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===6. Смена пароля===&lt;br /&gt;
Добавим еще один ключ для доступа&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим текущий пароль (или их может быть несколько)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter any LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее вводим новый пароль.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter new passphrase for key slot:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Смотрим на результат&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Теперь когда у нас&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Key Slot 0: ENABLED&lt;br /&gt;
Key Slot 1: ENABLED&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно удалить первый - он же нулевой&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDelKey 0 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP</id>
		<title>Шифрование разделов dm-crypt, ключ шифрования на другом сервере на HTTP</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP"/>
				<updated>2014-08-06T17:26:00Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 3. Шифруем раздел */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Установка dm-crypt на Linux&lt;br /&gt;
&lt;br /&gt;
===1. Устанавливаем Linux. Я ставил Ubuntu 9.10===&lt;br /&gt;
Для начала нам нужен пустой раздел, пусть у нас есть диск HDD на 300Gb&amp;lt;br&amp;gt;&lt;br /&gt;
При установке Ubuntu 9.10 разбиваем жесткий диск. Я лично разбил:&amp;lt;br&amp;gt;&lt;br /&gt;
Первый раздел - 30Gb - смонтировал на &amp;quot;/&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Второй раздел - 8Gb - SWAP&amp;lt;br&amp;gt;&lt;br /&gt;
Третий раздел - все остальное - при установке указал - . Все разделы делал первичными.&amp;lt;br&amp;gt;&lt;br /&gt;
Ну и далее ставим Ubuntu как обычно, без каких либо изменений.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки у меня получилось вот так:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/sda*&lt;br /&gt;
brw-rw---- 1 root disk 8, 0 2010-03-11 02:13 /dev/sda&lt;br /&gt;
brw-rw---- 1 root disk 8, 1 2010-03-11 02:13 /dev/sda1&lt;br /&gt;
brw-rw---- 1 root disk 8, 2 2010-03-11 02:13 /dev/sda2&lt;br /&gt;
brw-rw---- 1 root disk 8, 3 2010-03-11 02:13 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Устанавливаем dm-crypt===&lt;br /&gt;
Все действия необходимо делать из под пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
Установка:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install cryptsetup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Загружаем модуль:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
modprobe dm-crypt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавляем его в автозагрузку&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;dm-crypt&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===3. Шифруем раздел===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksFormat /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нам зададут вопрос:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Are you sure? (Type uppercase yes):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Правильный ответ: &amp;quot;YES&amp;quot; - именно большими буквами.&lt;br /&gt;
После чего нас спросят ключ для раздела&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим ключ (лучше всего 20-30 символов)&lt;br /&gt;
Command successful.&lt;br /&gt;
Обязательно запомните этот ключ.&lt;br /&gt;
&lt;br /&gt;
Для просмотра информации о разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===4. Подключение раздела===&lt;br /&gt;
Ручной режим&lt;br /&gt;
Открываем раздел с именем data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При этом создастся устройство /dev/mapper/data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/mapper/*&lt;br /&gt;
crw-rw---- 1 root root  10, 60 2010-03-14 15:27 /dev/mapper/control&lt;br /&gt;
brw-rw---- 1 root disk 252,  0 2010-03-14 15:29 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Информация о подключенном разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
dmsetup info data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это устройство в 'расшифрованном виде', работать с data можно как с обычным блочным устройством.&lt;br /&gt;
А следовательно для начала форматируем его&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И примантируем&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Монтирование с ключем по HTTP&lt;br /&gt;
Делаем скриптик&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
keydisk=`/usr/bin/wget -q -O- http://website.ru/key.txt`&lt;br /&gt;
/bin/echo $keydisk | /sbin/cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
/bin/mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Запихнуть в crontab у меня не получилось скриптик, не работает. Но в принципе если это сервер который стоит в датацентре - то перезагружаться он не будет.&lt;br /&gt;
&lt;br /&gt;
===5. Размонтирование===&lt;br /&gt;
Отключить устройство от ФС&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
umount /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Закрыть раздел&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksClose /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===6. Смена пароля===&lt;br /&gt;
Добавим еще один ключ для доступа&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим текущий пароль (или их может быть несколько)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter any LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее вводим новый пароль.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter new passphrase for key slot:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Смотрим на результат&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Теперь когда у нас&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Key Slot 0: ENABLED&lt;br /&gt;
Key Slot 1: ENABLED&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно удалить первый - он же нулевой&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDelKey 0 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP</id>
		<title>Шифрование разделов dm-crypt, ключ шифрования на другом сервере на HTTP</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP"/>
				<updated>2014-08-06T17:25:31Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Установка dm-crypt на Linux&lt;br /&gt;
&lt;br /&gt;
===1. Устанавливаем Linux. Я ставил Ubuntu 9.10===&lt;br /&gt;
Для начала нам нужен пустой раздел, пусть у нас есть диск HDD на 300Gb&amp;lt;br&amp;gt;&lt;br /&gt;
При установке Ubuntu 9.10 разбиваем жесткий диск. Я лично разбил:&amp;lt;br&amp;gt;&lt;br /&gt;
Первый раздел - 30Gb - смонтировал на &amp;quot;/&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Второй раздел - 8Gb - SWAP&amp;lt;br&amp;gt;&lt;br /&gt;
Третий раздел - все остальное - при установке указал - . Все разделы делал первичными.&amp;lt;br&amp;gt;&lt;br /&gt;
Ну и далее ставим Ubuntu как обычно, без каких либо изменений.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После установки у меня получилось вот так:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/sda*&lt;br /&gt;
brw-rw---- 1 root disk 8, 0 2010-03-11 02:13 /dev/sda&lt;br /&gt;
brw-rw---- 1 root disk 8, 1 2010-03-11 02:13 /dev/sda1&lt;br /&gt;
brw-rw---- 1 root disk 8, 2 2010-03-11 02:13 /dev/sda2&lt;br /&gt;
brw-rw---- 1 root disk 8, 3 2010-03-11 02:13 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Устанавливаем dm-crypt===&lt;br /&gt;
Все действия необходимо делать из под пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
Установка:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install cryptsetup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Загружаем модуль:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
modprobe dm-crypt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавляем его в автозагрузку&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;dm-crypt&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===3. Шифруем раздел===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksFormat /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нам зададут вопрос:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Are you sure? (Type uppercase yes):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Правильный ответ: &amp;quot;YES&amp;quot; - именно большими буквами.&lt;br /&gt;
После чего нас спросят ключ для раздела&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим ключ (лучше всего 20-30 символов)&lt;br /&gt;
Command successful.&lt;br /&gt;
Обязательно запомните этот ключ.&lt;br /&gt;
&lt;br /&gt;
Для просмотра информации о разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Подключение раздела&lt;br /&gt;
Ручной режим&lt;br /&gt;
Открываем раздел с именем data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При этом создастся устройство /dev/mapper/data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/mapper/*&lt;br /&gt;
crw-rw---- 1 root root  10, 60 2010-03-14 15:27 /dev/mapper/control&lt;br /&gt;
brw-rw---- 1 root disk 252,  0 2010-03-14 15:29 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Информация о подключенном разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
dmsetup info data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это устройство в 'расшифрованном виде', работать с data можно как с обычным блочным устройством.&lt;br /&gt;
А следовательно для начала форматируем его&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И примантируем&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Монтирование с ключем по HTTP&lt;br /&gt;
Делаем скриптик&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
keydisk=`/usr/bin/wget -q -O- http://website.ru/key.txt`&lt;br /&gt;
/bin/echo $keydisk | /sbin/cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
/bin/mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Запихнуть в crontab у меня не получилось скриптик, не работает. Но в принципе если это сервер который стоит в датацентре - то перезагружаться он не будет.&lt;br /&gt;
&lt;br /&gt;
5. Размонтирование&lt;br /&gt;
Отключить устройство от ФС&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
umount /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Закрыть раздел&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksClose /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Смена пароля&lt;br /&gt;
Добавим еще один ключ для доступа&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим текущий пароль (или их может быть несколько)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter any LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее вводим новый пароль.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter new passphrase for key slot:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Смотрим на результат&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Теперь когда у нас&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Key Slot 0: ENABLED&lt;br /&gt;
Key Slot 1: ENABLED&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно удалить первый - он же нулевой&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDelKey 0 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP</id>
		<title>Шифрование разделов dm-crypt, ключ шифрования на другом сервере на HTTP</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2_dm-crypt,_%D0%BA%D0%BB%D1%8E%D1%87_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BD%D0%B0_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%BC_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5_%D0%BD%D0%B0_HTTP"/>
				<updated>2014-08-06T17:24:22Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: Новая страница: «Установка dm-crypt на Linux  1. Устанавливаем Linux. Я ставил Ubuntu 9.10 Для начала нам нужен пустой раз…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Установка dm-crypt на Linux&lt;br /&gt;
&lt;br /&gt;
1. Устанавливаем Linux. Я ставил Ubuntu 9.10&lt;br /&gt;
Для начала нам нужен пустой раздел, пусть у нас есть диск HDD на 300Gb&lt;br /&gt;
При установке Ubuntu 9.10 разбиваем жесткий диск. Я лично разбил:&lt;br /&gt;
Первый раздел - 30Gb - смонтировал на &amp;quot;/&amp;quot;&lt;br /&gt;
Второй раздел - 8Gb - SWAP&lt;br /&gt;
Третий раздел - все остальное - при установке указал - . Все разделы делал первичными.&lt;br /&gt;
Ну и далее ставим Ubuntu как обычно, без каких либо изменений.&lt;br /&gt;
&lt;br /&gt;
После установки у меня получилось вот так:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/sda*&lt;br /&gt;
brw-rw---- 1 root disk 8, 0 2010-03-11 02:13 /dev/sda&lt;br /&gt;
brw-rw---- 1 root disk 8, 1 2010-03-11 02:13 /dev/sda1&lt;br /&gt;
brw-rw---- 1 root disk 8, 2 2010-03-11 02:13 /dev/sda2&lt;br /&gt;
brw-rw---- 1 root disk 8, 3 2010-03-11 02:13 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Устанавливаем dm-crypt&lt;br /&gt;
Все действия необходимо делать из под пользователя root&lt;br /&gt;
Установка:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install cryptsetup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Загружаем модуль:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
modprobe dm-crypt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Добавляем его в автозагрузку&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;dm-crypt&amp;quot; &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Шифруем раздел&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksFormat /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нам зададут вопрос:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Are you sure? (Type uppercase yes):&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Правильный ответ: &amp;quot;YES&amp;quot; - именно большими буквами.&lt;br /&gt;
После чего нас спросят ключ для раздела&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим ключ (лучше всего 20-30 символов)&lt;br /&gt;
Command successful.&lt;br /&gt;
Обязательно запомните этот ключ.&lt;br /&gt;
&lt;br /&gt;
Для просмотра информации о разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. Подключение раздела&lt;br /&gt;
Ручной режим&lt;br /&gt;
Открываем раздел с именем data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При этом создастся устройство /dev/mapper/data&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@server:~# ls -al /dev/mapper/*&lt;br /&gt;
crw-rw---- 1 root root  10, 60 2010-03-14 15:27 /dev/mapper/control&lt;br /&gt;
brw-rw---- 1 root disk 252,  0 2010-03-14 15:29 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Информация о подключенном разделе&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
dmsetup info data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это устройство в 'расшифрованном виде', работать с data можно как с обычным блочным устройством.&lt;br /&gt;
А следовательно для начала форматируем его&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mkfs.ext4 /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
И примантируем&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Монтирование с ключем по HTTP&lt;br /&gt;
Делаем скриптик&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
keydisk=`/usr/bin/wget -q -O- http://website.ru/key.txt`&lt;br /&gt;
/bin/echo $keydisk | /sbin/cryptsetup luksOpen /dev/sda3 data&lt;br /&gt;
/bin/mount /dev/mapper/data /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Запихнуть в crontab у меня не получилось скриптик, не работает. Но в принципе если это сервер который стоит в датацентре - то перезагружаться он не будет.&lt;br /&gt;
&lt;br /&gt;
5. Размонтирование&lt;br /&gt;
Отключить устройство от ФС&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
umount /data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Закрыть раздел&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksClose /dev/mapper/data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6. Смена пароля&lt;br /&gt;
Добавим еще один ключ для доступа&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksAddKey /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вводим текущий пароль (или их может быть несколько)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter any LUKS passphrase:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее вводим новый пароль.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Enter new passphrase for key slot:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Смотрим на результат&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
cryptsetup luksDump /dev/sda3&lt;br /&gt;
&lt;br /&gt;
Теперь когда у нас&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
Key Slot 0: ENABLED&lt;br /&gt;
Key Slot 1: ENABLED&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Можно удалить первый - он же нулевой&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksDelKey 0 /dev/sda3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%92%D1%81%D0%B5_%D0%BE_Linux</id>
		<title>Все о Linux</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%92%D1%81%D0%B5_%D0%BE_Linux"/>
				<updated>2014-08-06T17:18:21Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: Новая страница: «* Шифрование разделов dm-crypt, ключ шифрования на другом сервере на HTTP»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Шифрование разделов dm-crypt, ключ шифрования на другом сервере на HTTP]]&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:17:20Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 8. Создание бекапа с помощью сервера репликации */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL'''&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/init.d/mysql restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===3. Вводим одну команду===&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&amp;lt;br&amp;gt;&lt;br /&gt;
где&amp;lt;br&amp;gt;&lt;br /&gt;
username - имя пользователя&amp;lt;br&amp;gt;&lt;br /&gt;
password - пароль&amp;lt;br&amp;gt;&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===4. Открываем конфигурационный файл MySQL на резервном сервере.===&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&amp;lt;br&amp;gt;&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&amp;lt;br&amp;gt;&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&amp;lt;br&amp;gt;&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&amp;lt;br&amp;gt;&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО===&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/mysql restart&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&amp;lt;br&amp;gt;&lt;br /&gt;
Заходим в консоль mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===6. Переходим к созданию бекапа с рабочего сервера===&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&amp;lt;br&amp;gt;&lt;br /&gt;
--password=root_password - пароль пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&amp;lt;br&amp;gt;&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&amp;lt;br&amp;gt;&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&amp;lt;br&amp;gt;&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
===7. Установка бекапа на сервер репликации===&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
===8. Создание бекапа с помощью сервера репликации===&lt;br /&gt;
В ручном режиме:&amp;lt;br&amp;gt;&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&amp;lt;br&amp;gt;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&amp;lt;br&amp;gt;&lt;br /&gt;
--password=root_password - пароль пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&amp;lt;br&amp;gt;&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&amp;lt;br&amp;gt;&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В автоматическом режиме:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&amp;lt;br&amp;gt;&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:16:56Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 8. Создание бекапа с помощью сервера репликации */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL'''&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/init.d/mysql restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===3. Вводим одну команду===&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&amp;lt;br&amp;gt;&lt;br /&gt;
где&amp;lt;br&amp;gt;&lt;br /&gt;
username - имя пользователя&amp;lt;br&amp;gt;&lt;br /&gt;
password - пароль&amp;lt;br&amp;gt;&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===4. Открываем конфигурационный файл MySQL на резервном сервере.===&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&amp;lt;br&amp;gt;&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&amp;lt;br&amp;gt;&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&amp;lt;br&amp;gt;&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&amp;lt;br&amp;gt;&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО===&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/mysql restart&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&amp;lt;br&amp;gt;&lt;br /&gt;
Заходим в консоль mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===6. Переходим к созданию бекапа с рабочего сервера===&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&amp;lt;br&amp;gt;&lt;br /&gt;
--password=root_password - пароль пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&amp;lt;br&amp;gt;&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&amp;lt;br&amp;gt;&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&amp;lt;br&amp;gt;&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
===7. Установка бекапа на сервер репликации===&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
===8. Создание бекапа с помощью сервера репликации===&lt;br /&gt;
В ручном режиме:&amp;lt;br&amp;gt;&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&amp;lt;br&amp;gt;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&amp;lt;br&amp;gt;&lt;br /&gt;
--password=root_password - пароль пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&amp;lt;br&amp;gt;&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&amp;lt;br&amp;gt;&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В автоматическом режиме:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&amp;lt;br&amp;gt;&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:15:32Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 7. Установка бекапа на сервер репликации */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL'''&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/init.d/mysql restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===3. Вводим одну команду===&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&amp;lt;br&amp;gt;&lt;br /&gt;
где&amp;lt;br&amp;gt;&lt;br /&gt;
username - имя пользователя&amp;lt;br&amp;gt;&lt;br /&gt;
password - пароль&amp;lt;br&amp;gt;&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===4. Открываем конфигурационный файл MySQL на резервном сервере.===&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&amp;lt;br&amp;gt;&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&amp;lt;br&amp;gt;&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&amp;lt;br&amp;gt;&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&amp;lt;br&amp;gt;&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО===&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/mysql restart&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&amp;lt;br&amp;gt;&lt;br /&gt;
Заходим в консоль mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===6. Переходим к созданию бекапа с рабочего сервера===&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&amp;lt;br&amp;gt;&lt;br /&gt;
--password=root_password - пароль пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&amp;lt;br&amp;gt;&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&amp;lt;br&amp;gt;&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&amp;lt;br&amp;gt;&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
===7. Установка бекапа на сервер репликации===&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
===8. Создание бекапа с помощью сервера репликации===&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:15:02Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 6. Переходим к созданию бекапа с рабочего сервера */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL'''&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/init.d/mysql restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===3. Вводим одну команду===&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&amp;lt;br&amp;gt;&lt;br /&gt;
где&amp;lt;br&amp;gt;&lt;br /&gt;
username - имя пользователя&amp;lt;br&amp;gt;&lt;br /&gt;
password - пароль&amp;lt;br&amp;gt;&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===4. Открываем конфигурационный файл MySQL на резервном сервере.===&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&amp;lt;br&amp;gt;&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&amp;lt;br&amp;gt;&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&amp;lt;br&amp;gt;&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&amp;lt;br&amp;gt;&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО===&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/mysql restart&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&amp;lt;br&amp;gt;&lt;br /&gt;
Заходим в консоль mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===6. Переходим к созданию бекапа с рабочего сервера===&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&amp;lt;br&amp;gt;&lt;br /&gt;
--password=root_password - пароль пользователя root&amp;lt;br&amp;gt;&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&amp;lt;br&amp;gt;&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&amp;lt;br&amp;gt;&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&amp;lt;br&amp;gt;&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
===7. Установка бекапа на сервер репликации===&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
===8. Создание бекапа с помощью сервера репликации===&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:14:09Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL'''&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/init.d/mysql restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===3. Вводим одну команду===&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&amp;lt;br&amp;gt;&lt;br /&gt;
где&amp;lt;br&amp;gt;&lt;br /&gt;
username - имя пользователя&amp;lt;br&amp;gt;&lt;br /&gt;
password - пароль&amp;lt;br&amp;gt;&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===4. Открываем конфигурационный файл MySQL на резервном сервере.===&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&amp;lt;br&amp;gt;&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&amp;lt;br&amp;gt;&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&amp;lt;br&amp;gt;&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&amp;lt;br&amp;gt;&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО===&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/mysql restart&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&amp;lt;br&amp;gt;&lt;br /&gt;
Заходим в консоль mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===6. Переходим к созданию бекапа с рабочего сервера===&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
===7. Установка бекапа на сервер репликации===&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
===8. Создание бекапа с помощью сервера репликации===&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:13:47Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL'''&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/init.d/mysql restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===3. Вводим одну команду===&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&amp;lt;br&amp;gt;&lt;br /&gt;
где&amp;lt;br&amp;gt;&lt;br /&gt;
username - имя пользователя&amp;lt;br&amp;gt;&lt;br /&gt;
password - пароль&amp;lt;br&amp;gt;&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===4. Открываем конфигурационный файл MySQL на резервном сервере.===&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&amp;lt;br&amp;gt;&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&amp;lt;br&amp;gt;&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&amp;lt;br&amp;gt;&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&amp;lt;br&amp;gt;&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО===&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/mysql restart&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&amp;lt;br&amp;gt;&lt;br /&gt;
Заходим в консоль mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
===6. Переходим к созданию бекапа с рабочего сервера===&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
===7. Установка бекапа на сервер репликации===&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
===8. Создание бекапа с помощью сервера репликации===&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:13:13Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 4. Открываем конфигурационный файл MySQL на резервном сервере. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL'''&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/init.d/mysql restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===3. Вводим одну команду===&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&amp;lt;br&amp;gt;&lt;br /&gt;
где&amp;lt;br&amp;gt;&lt;br /&gt;
username - имя пользователя&amp;lt;br&amp;gt;&lt;br /&gt;
password - пароль&amp;lt;br&amp;gt;&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===4. Открываем конфигурационный файл MySQL на резервном сервере.===&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&amp;lt;br&amp;gt;&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&amp;lt;br&amp;gt;&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&amp;lt;br&amp;gt;&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&amp;lt;br&amp;gt;&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО===&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===6. Переходим к созданию бекапа с рабочего сервера===&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
===7. Установка бекапа на сервер репликации===&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
===8. Создание бекапа с помощью сервера репликации===&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:12:56Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 4. Открываем конфигурационный файл MySQL на резервном сервере. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL'''&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/init.d/mysql restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===3. Вводим одну команду===&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&amp;lt;br&amp;gt;&lt;br /&gt;
где&amp;lt;br&amp;gt;&lt;br /&gt;
username - имя пользователя&amp;lt;br&amp;gt;&lt;br /&gt;
password - пароль&amp;lt;br&amp;gt;&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===4. Открываем конфигурационный файл MySQL на резервном сервере.===&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
===5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО===&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===6. Переходим к созданию бекапа с рабочего сервера===&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
===7. Установка бекапа на сервер репликации===&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
===8. Создание бекапа с помощью сервера репликации===&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:12:09Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 3. Вводим одну команду */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL'''&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/init.d/mysql restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===3. Вводим одну команду===&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&amp;lt;br&amp;gt;&lt;br /&gt;
где&amp;lt;br&amp;gt;&lt;br /&gt;
username - имя пользователя&amp;lt;br&amp;gt;&lt;br /&gt;
password - пароль&amp;lt;br&amp;gt;&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===4. Открываем конфигурационный файл MySQL на резервном сервере.===&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
===5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО===&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===6. Переходим к созданию бекапа с рабочего сервера===&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
===7. Установка бекапа на сервер репликации===&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
===8. Создание бекапа с помощью сервера репликации===&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:11:44Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 2. Заходим в консоль MySQL сервер. (на основном сервере) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL'''&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/init.d/mysql restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===3. Вводим одну команду===&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
===4. Открываем конфигурационный файл MySQL на резервном сервере.===&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
===5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО===&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===6. Переходим к созданию бекапа с рабочего сервера===&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
===7. Установка бекапа на сервер репликации===&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
===8. Создание бекапа с помощью сервера репликации===&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:11:29Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 2. Заходим в консоль MySQL сервер. (на основном сервере) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL'''&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/init.d/mysql restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===3. Вводим одну команду===&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
===4. Открываем конфигурационный файл MySQL на резервном сервере.===&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
===5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО===&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===6. Переходим к созданию бекапа с рабочего сервера===&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
===7. Установка бекапа на сервер репликации===&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
===8. Создание бекапа с помощью сервера репликации===&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:11:11Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 2. Заходим в консоль MySQL сервер. (на основном сервере) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL'''&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/init.d/mysql restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===3. Вводим одну команду===&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
===4. Открываем конфигурационный файл MySQL на резервном сервере.===&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
===5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО===&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===6. Переходим к созданию бекапа с рабочего сервера===&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
===7. Установка бекапа на сервер репликации===&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
===8. Создание бекапа с помощью сервера репликации===&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:10:16Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL'''&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/init.d/mysql restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===3. Вводим одну команду===&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
===4. Открываем конфигурационный файл MySQL на резервном сервере.===&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
===5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО===&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===6. Переходим к созданию бекапа с рабочего сервера===&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
===7. Установка бекапа на сервер репликации===&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
===8. Создание бекапа с помощью сервера репликации===&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:09:27Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 1.Открываем конфигурационный файл mysql на основном сервере */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL'''&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/init.d/mysql restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Вводим одну команду&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
4. Открываем конфигурационный файл MySQL на резервном сервере.&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Переходим к созданию бекапа с рабочего сервера&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
7. Установка бекапа на сервер репликации&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
8. Создание бекапа с помощью сервера репликации&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:09:02Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL'''&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/init.d/mysql restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Вводим одну команду&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
4. Открываем конфигурационный файл MySQL на резервном сервере.&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Переходим к созданию бекапа с рабочего сервера&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
7. Установка бекапа на сервер репликации&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
8. Создание бекапа с помощью сервера репликации&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:08:04Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 1.Открываем конфигурационный файл mysql на основном сервере */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL'''&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/init.d/mysql restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Вводим одну команду&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
4. Открываем конфигурационный файл MySQL на резервном сервере.&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Переходим к созданию бекапа с рабочего сервера&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
7. Установка бекапа на сервер репликации&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
8. Создание бекапа с помощью сервера репликации&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:06:26Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL'''&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/etc/init.d/mysql restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/local/etc/rc.d/mysql-server restart&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Вводим одну команду&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
4. Открываем конфигурационный файл MySQL на резервном сервере.&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Переходим к созданию бекапа с рабочего сервера&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
7. Установка бекапа на сервер репликации&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
8. Создание бекапа с помощью сервера репликации&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:05:57Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 1.Открываем конфигурационный файл mysql на основном сервере */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL'''&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/mysql restart&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Вводим одну команду&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
4. Открываем конфигурационный файл MySQL на резервном сервере.&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Переходим к созданию бекапа с рабочего сервера&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
7. Установка бекапа на сервер репликации&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
8. Создание бекапа с помощью сервера репликации&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:04:56Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
для Linux:&lt;br /&gt;
 server-id               = 1&lt;br /&gt;
 log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
 expire_logs_days        = 10&lt;br /&gt;
 max_binlog_size         = 1024M&lt;br /&gt;
для FreeBSD:&lt;br /&gt;
 server-id=1&lt;br /&gt;
 log-bin=mysql-bin&lt;br /&gt;
 expire_logs_days= 10&lt;br /&gt;
 max_binlog_size=1024M&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/mysql restart&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Вводим одну команду&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
4. Открываем конфигурационный файл MySQL на резервном сервере.&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Переходим к созданию бекапа с рабочего сервера&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
7. Установка бекапа на сервер репликации&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
8. Создание бекапа с помощью сервера репликации&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:03:24Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&lt;br /&gt;
;для Linux&lt;br /&gt;
: server-id               = 1&lt;br /&gt;
: log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
: expire_logs_days        = 10&lt;br /&gt;
: max_binlog_size         = 1024M&lt;br /&gt;
;для FreeBSD &lt;br /&gt;
: server-id=1&lt;br /&gt;
: log-bin=mysql-bin&lt;br /&gt;
: expire_logs_days= 10&lt;br /&gt;
: max_binlog_size=1024M&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&amp;lt;br&amp;gt;&lt;br /&gt;
server-id - Уникальный server_id&amp;lt;br&amp;gt;&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&amp;lt;br&amp;gt;&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL&amp;lt;br&amp;gt;&lt;br /&gt;
Для Linux&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/mysql restart&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD&amp;lt;br&amp;gt;&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Вводим одну команду&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
4. Открываем конфигурационный файл MySQL на резервном сервере.&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Переходим к созданию бекапа с рабочего сервера&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
7. Установка бекапа на сервер репликации&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
8. Создание бекапа с помощью сервера репликации&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:02:52Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 1.Открываем конфигурационный файл mysql на основном сервере */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&amp;lt;br&amp;gt;&lt;br /&gt;
;для Linux&lt;br /&gt;
: server-id               = 1&lt;br /&gt;
: log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
: expire_logs_days        = 10&lt;br /&gt;
: max_binlog_size         = 1024M&lt;br /&gt;
;для FreeBSD &lt;br /&gt;
: server-id=1&lt;br /&gt;
: log-bin=mysql-bin&lt;br /&gt;
: expire_logs_days= 10&lt;br /&gt;
: max_binlog_size=1024M&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
&lt;br /&gt;
server-id - Уникальный server_id&lt;br /&gt;
&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&lt;br /&gt;
&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&lt;br /&gt;
&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Вводим одну команду&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
4. Открываем конфигурационный файл MySQL на резервном сервере.&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Переходим к созданию бекапа с рабочего сервера&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
7. Установка бекапа на сервер репликации&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
8. Создание бекапа с помощью сервера репликации&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:02:42Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: /* 1.Открываем конфигурационный файл mysql на основном сервере */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&lt;br /&gt;
;для Linux&lt;br /&gt;
: server-id               = 1&lt;br /&gt;
: log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
: expire_logs_days        = 10&lt;br /&gt;
: max_binlog_size         = 1024M&lt;br /&gt;
;для FreeBSD &lt;br /&gt;
: server-id=1&lt;br /&gt;
: log-bin=mysql-bin&lt;br /&gt;
: expire_logs_days= 10&lt;br /&gt;
: max_binlog_size=1024M&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
&lt;br /&gt;
server-id - Уникальный server_id&lt;br /&gt;
&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&lt;br /&gt;
&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&lt;br /&gt;
&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Вводим одну команду&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
4. Открываем конфигурационный файл MySQL на резервном сервере.&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Переходим к созданию бекапа с рабочего сервера&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
7. Установка бекапа на сервер репликации&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
8. Создание бекапа с помощью сервера репликации&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:02:17Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&lt;br /&gt;
&lt;br /&gt;
;для Linux&lt;br /&gt;
: server-id               = 1&lt;br /&gt;
: log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
: expire_logs_days        = 10&lt;br /&gt;
: max_binlog_size         = 1024M&lt;br /&gt;
;для FreeBSD &lt;br /&gt;
: server-id=1&lt;br /&gt;
: log-bin=mysql-bin&lt;br /&gt;
: expire_logs_days= 10&lt;br /&gt;
: max_binlog_size=1024M&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
&lt;br /&gt;
server-id - Уникальный server_id&lt;br /&gt;
&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&lt;br /&gt;
&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&lt;br /&gt;
&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Вводим одну команду&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
4. Открываем конфигурационный файл MySQL на резервном сервере.&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Переходим к созданию бекапа с рабочего сервера&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
7. Установка бекапа на сервер репликации&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
8. Создание бекапа с помощью сервера репликации&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:02:05Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
Для FreeBSD: /var/db/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&amp;lt;br&amp;gt;&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&lt;br /&gt;
&lt;br /&gt;
;для Linux&lt;br /&gt;
: server-id               = 1&lt;br /&gt;
: log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
: expire_logs_days        = 10&lt;br /&gt;
: max_binlog_size         = 1024M&lt;br /&gt;
;для FreeBSD &lt;br /&gt;
: server-id=1&lt;br /&gt;
: log-bin=mysql-bin&lt;br /&gt;
: expire_logs_days= 10&lt;br /&gt;
: max_binlog_size=1024M&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
&lt;br /&gt;
server-id - Уникальный server_id&lt;br /&gt;
&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&lt;br /&gt;
&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&lt;br /&gt;
&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Вводим одну команду&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
4. Открываем конфигурационный файл MySQL на резервном сервере.&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Переходим к созданию бекапа с рабочего сервера&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
7. Установка бекапа на сервер репликации&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
8. Создание бекапа с помощью сервера репликации&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T17:00:33Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&lt;br /&gt;
&lt;br /&gt;
Для FreeBSD: /var/db/mysql&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&lt;br /&gt;
&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&lt;br /&gt;
&lt;br /&gt;
;для Linux&lt;br /&gt;
: server-id               = 1&lt;br /&gt;
: log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
: expire_logs_days        = 10&lt;br /&gt;
: max_binlog_size         = 1024M&lt;br /&gt;
;для FreeBSD &lt;br /&gt;
: server-id=1&lt;br /&gt;
: log-bin=mysql-bin&lt;br /&gt;
: expire_logs_days= 10&lt;br /&gt;
: max_binlog_size=1024M&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
&lt;br /&gt;
server-id - Уникальный server_id&lt;br /&gt;
&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&lt;br /&gt;
&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&lt;br /&gt;
&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Вводим одну команду&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
4. Открываем конфигурационный файл MySQL на резервном сервере.&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Переходим к созданию бекапа с рабочего сервера&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
7. Установка бекапа на сервер репликации&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
8. Создание бекапа с помощью сервера репликации&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T16:57:04Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&lt;br /&gt;
&lt;br /&gt;
Для FreeBSD: /var/db/mysql&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&lt;br /&gt;
&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&lt;br /&gt;
&lt;br /&gt;
;для Linux::&lt;br /&gt;
: server-id               = 1&lt;br /&gt;
: log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
: expire_logs_days        = 10&lt;br /&gt;
: max_binlog_size         = 1024M&lt;br /&gt;
;для FreeBSD :&lt;br /&gt;
: server-id=1&lt;br /&gt;
: log-bin=mysql-bin&lt;br /&gt;
: expire_logs_days= 10&lt;br /&gt;
: max_binlog_size=1024M&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - Уникальный server_id&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&lt;br /&gt;
&lt;br /&gt;
И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Вводим одну команду&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
4. Открываем конфигурационный файл MySQL на резервном сервере.&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Переходим к созданию бекапа с рабочего сервера&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
7. Установка бекапа на сервер репликации&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
8. Создание бекапа с помощью сервера репликации&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T16:55:43Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&lt;br /&gt;
&lt;br /&gt;
Для FreeBSD: /var/db/mysql&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&lt;br /&gt;
&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&lt;br /&gt;
&lt;br /&gt;
;для Linux :&lt;br /&gt;
: server-id               = 1&lt;br /&gt;
: log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
: expire_logs_days        = 10&lt;br /&gt;
: max_binlog_size         = 1024M&lt;br /&gt;
;для FreeBSD :&lt;br /&gt;
: server-id=1&lt;br /&gt;
: log-bin=mysql-bin&lt;br /&gt;
: expire_logs_days= 10&lt;br /&gt;
: max_binlog_size=1024M&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - Уникальный server_id&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&lt;br /&gt;
&lt;br /&gt;
И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Вводим одну команду&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
4. Открываем конфигурационный файл MySQL на резервном сервере.&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Переходим к созданию бекапа с рабочего сервера&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
7. Установка бекапа на сервер репликации&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
8. Создание бекапа с помощью сервера репликации&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T16:55:28Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&lt;br /&gt;
&lt;br /&gt;
Для FreeBSD: /var/db/mysql&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&lt;br /&gt;
&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&lt;br /&gt;
&lt;br /&gt;
;для Linux:&lt;br /&gt;
: server-id               = 1&lt;br /&gt;
: log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
: expire_logs_days        = 10&lt;br /&gt;
: max_binlog_size         = 1024M&lt;br /&gt;
;для FreeBSD:&lt;br /&gt;
: server-id=1&lt;br /&gt;
: log-bin=mysql-bin&lt;br /&gt;
: expire_logs_days= 10&lt;br /&gt;
: max_binlog_size=1024M&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - Уникальный server_id&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&lt;br /&gt;
&lt;br /&gt;
И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Вводим одну команду&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
4. Открываем конфигурационный файл MySQL на резервном сервере.&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Переходим к созданию бекапа с рабочего сервера&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
7. Установка бекапа на сервер репликации&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
8. Создание бекапа с помощью сервера репликации&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	<entry>
		<id>http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8</id>
		<title>Настройка репликации в MySQL + создание бекапов у нагруженного сервера MySQL с помощью репликации</title>
		<link rel="alternate" type="text/html" href="http://artful.ru/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2_MySQL_%2B_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2_%D1%83_%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_MySQL_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D1%80%D0%B5%D0%BF%D0%BB%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8"/>
				<updated>2014-08-06T16:55:18Z</updated>
		
		<summary type="html">&lt;p&gt;Artful: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Мы имеем два физических сервера, неважно какая ОС установлена, FreeBSD / Linux. На обоих серверах стоит Mysql (я лично тестировал на связках Ubuntu 9.04/9.10 FreeBSD 8.0 и Mysql5.1)&lt;br /&gt;
На одном сервере стоит рабочий MySQL сервер (IP = 10.0.0.1). На втором свежеустановленный MySQL (IP = 10.0.0.2).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===1.Открываем конфигурационный файл mysql на основном сервере===&lt;br /&gt;
Для Linux: /etc/mysql&lt;br /&gt;
&lt;br /&gt;
Для FreeBSD: /var/db/mysql&lt;br /&gt;
&lt;br /&gt;
Так же просим учесть, что у ОС FreeBSD его по умолчанию нету, взять дефолтный конфигурационный файл можно в папке /usr/local/share/mysql&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;(my-small.cnf, my-medium.cnf, my-large.cnf или my-huge.cnf - в зависимости от конфигурации сервера и нагрузки на него.&lt;br /&gt;
&lt;br /&gt;
Не забудьте что при копировании дефолтного конфигурационного файла в папку /var/db/mysql ему необходимо задать имя my.cnf).&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и редактируем следующие поля:&lt;br /&gt;
&lt;br /&gt;
:для Linux:&lt;br /&gt;
: server-id               = 1&lt;br /&gt;
: log_bin                 = /var/log/mysql/mysql-bin.log&lt;br /&gt;
: expire_logs_days        = 10&lt;br /&gt;
: max_binlog_size         = 1024M&lt;br /&gt;
:для FreeBSD:&lt;br /&gt;
: server-id=1&lt;br /&gt;
: log-bin=mysql-bin&lt;br /&gt;
: expire_logs_days= 10&lt;br /&gt;
: max_binlog_size=1024M&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - Уникальный server_id&lt;br /&gt;
log-bin - указывает путь для ведения логов и формат имени файлов для Linux, или формат файла для FreeBSD&lt;br /&gt;
expire_logs_days - сколько по времени днях хранить логи, учтите что на нагруженном сервере за 10 дней объем может достигать 50-100Gb&lt;br /&gt;
max_binlog_size - какой размер файла логов делать&lt;br /&gt;
&lt;br /&gt;
И теперь самый неприятный момент - Нужно перезапустить основной сервер MySQL&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
&lt;br /&gt;
===2. Заходим в консоль MySQL сервер. (на основном сервере)===&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
&lt;br /&gt;
root@mysql:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 4057381&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1-log (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Вводим одну команду&lt;br /&gt;
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'username'@'10.0.0.2' IDENTIFIED BY 'password';&lt;br /&gt;
где&lt;br /&gt;
username - имя пользователя&lt;br /&gt;
password - пароль&lt;br /&gt;
10.0.0.2 - ip сервера репликации (поменяйте на свой IP)&lt;br /&gt;
&lt;br /&gt;
4. Открываем конфигурационный файл MySQL на резервном сервере.&lt;br /&gt;
и редактируем следующие параметры&lt;br /&gt;
server-id = 2&lt;br /&gt;
master-host = 10.0.0.1&lt;br /&gt;
master-port = 3306&lt;br /&gt;
master-user = username&lt;br /&gt;
master-password = password&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
server-id - уникальный id сервера, значение должно отличаться от значения первого сервера&lt;br /&gt;
master-host = IP адрес на котором работает мастер-сервер&lt;br /&gt;
master-port = Порт на котором работает мастер-сервер&lt;br /&gt;
master-user = имя пользователя, которое мы задали в пункте 3&lt;br /&gt;
master-password = пароль, который мы задали в пункте 3&lt;br /&gt;
&lt;br /&gt;
5. Перезапускаем MySQL на резервном сервере, ОБЯЗАТЕЛЬНО&lt;br /&gt;
Для Linux&lt;br /&gt;
/etc/init.d/mysql restart&lt;br /&gt;
Для FreeBSD&lt;br /&gt;
/usr/local/etc/rc.d/mysql-server restart&lt;br /&gt;
Заходим в консоль mysql&lt;br /&gt;
Если у пользователя root нету пароля - то просто вводим mysql [Enter]&lt;br /&gt;
Если пароль есть - то вводим mysql -u root -p [Enter] и вводим пароль от пользователя root [Enter]&lt;br /&gt;
и после вводим 1 команду: STOP SLAVE; [Enter]&lt;br /&gt;
root@rep:~# mysql&lt;br /&gt;
Welcome to the MySQL monitor.  Commands end with; or \g.&lt;br /&gt;
Your MySQL connection id is 229333&lt;br /&gt;
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
Query OK, 0 rows affected (0,02 sec)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Переходим к созданию бекапа с рабочего сервера&lt;br /&gt;
На основном сервере вводим команду:&lt;br /&gt;
mysqldump --user=root --password=root_password --extended-insert --all-databases --master-data --lock-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--extended-insert - Использовать команду INSERT с новым многострочным синтаксисом (повышает компактность и быстродействие операторов ввода).&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-tables - Указание этого параметра приводит к блокировке таблиц базы данных, для которой создается дамп.&lt;br /&gt;
Внимание, бекап лучше всего делать в самое не загруженное время работы MySQL (например в 6 утра)&lt;br /&gt;
&lt;br /&gt;
7. Установка бекапа на сервер репликации&lt;br /&gt;
Далее, копируем файл /tmp/backup.sql на резервный севрер и загружаем его командой:&lt;br /&gt;
mysql --user=root --password=root_password &amp;lt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
После чего заходим в консоль mysql и вводим команду START SLAVE; [Enter]&lt;br /&gt;
Проверить работоспособность сервера репликаций можно с помощью команды SHOW SLAVE STATUS; в консоле управления mysql&lt;br /&gt;
&lt;br /&gt;
8. Создание бекапа с помощью сервера репликации&lt;br /&gt;
В ручном режиме:&lt;br /&gt;
Сначала заходим в консоль MySQL сервера: mysql [Enter] и вводим команду STOP SLAVE;&lt;br /&gt;
Выходим из консоли mysql и запускаем mysqldump:&lt;br /&gt;
mysqldump --user=root --password=root_password --all-databases --lock-all-tables &amp;gt; /tmp/backup.sql&lt;br /&gt;
&lt;br /&gt;
Параметры означают следующее:&lt;br /&gt;
--user=root - имя пользователя, от чьего имени будем делать бекап&lt;br /&gt;
--password=root_password - пароль пользователя root&lt;br /&gt;
--all-databases - Сохраняет все таблицы из всех баз данных, которые находятся под управлением текущего сервера.&lt;br /&gt;
--lock-all-tables - Указание этого параметра приводит к блокировке всех таблиц во всех базах данных на время создания полного дампа всех баз данных.&lt;br /&gt;
После чего не забываем запустить репликацию снова, для этого заходим в консоль MySQL: mysql [Enter] и вводим команду START SLAVE;&lt;br /&gt;
В автоматическом режиме:&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
DATE=`date +%Y-%m-%d_%H-%M`&lt;br /&gt;
USER=root&lt;br /&gt;
PASS=root_password&lt;br /&gt;
&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} stop-slave&lt;br /&gt;
mysqldump --user=${USER} --password=${PASS} --all-databases --lock-all-tables &amp;gt; /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
mysqladmin --user=${USER} --password=${PASS} start-slave&lt;br /&gt;
tar jcvf /backups/mysql/backup-${DATE}.tar.bz2 /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
rm /backups/mysql/backup-${DATE}.sql&lt;br /&gt;
&lt;br /&gt;
Если вы захотите добавить этот скрипт в crontab - то добавте в скрипте полные пути до всех запускаемых файлов&lt;br /&gt;
Найти полный путь до запускаемого файла можно с помощью:&lt;br /&gt;
root@rep:~# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz&lt;br /&gt;
&lt;br /&gt;
У FreeBSD другие пути, например:&lt;br /&gt;
www# whereis mysqladmin&lt;br /&gt;
mysqladmin: /usr/local/bin/mysqladmin /usr/local/man/man1/mysqladmin.1.gz&lt;/div&gt;</summary>
		<author><name>Artful</name></author>	</entry>

	</feed>