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

<channel>
	<title>dmesg &#187; mysql</title>
	<atom:link href="http://dmesg.org.ua/tag/mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://dmesg.org.ua</link>
	<description>заметки системного инженера</description>
	<lastBuildDate>Thu, 28 Jan 2010 09:06:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
		<item>
		<title>Резервное копирование MySQL</title>
		<link>http://dmesg.org.ua/2009/12/mysql-backup/</link>
		<comments>http://dmesg.org.ua/2009/12/mysql-backup/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 15:28:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Администрирование]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[lvm]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://dmesg.org.ua/?p=215</guid>
		<description><![CDATA[Недавно возникла небольшая проблема с бэкапом базы MySQL, с огромными таблицами, которые лочились при mysqldump (это необходимо, дабы сохранить целостность резервной копии) В голову пришло следующие решение, которое возможно если база размещена на LVM: следующее происходит без останова БД: 1. Создаётся снэпшот ФС с базами MySQL (чтобы бэкапить неизменяемые данные . Это ключевой момент ) [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://dmesg.org.ua/wp-content/uploads/2009/07/logo_mysql_sun_a.gif" alt="logo_mysql_sun_a" title="logo_mysql_sun_a" width="114" height="68" class="alignleft size-full wp-image-80" />Недавно возникла небольшая проблема с бэкапом базы MySQL, с  огромными таблицами, которые лочились при mysqldump (это необходимо, дабы сохранить целостность резервной копии) </p>
<p>В голову пришло следующие решение, которое возможно если база размещена на LVM:<br />
следующее происходит без останова БД:<br />
1. Создаётся снэпшот ФС с базами MySQL (чтобы бэкапить неизменяемые  данные . Это ключевой момент )<br />
2. Монтируем этот снэпшот<br />
3. Тарим все директории с базами<br />
4. Размонтируем и удаляем снэпшот</p>
<p>Потом забираем архивы любым удобным для вас средством и удаляем</p>
<p>Скрипт ниже<br />
<span id="more-215"></span></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #007800;">PATH</span>=<span style="color: #ff0000;">'/usr/sbin:/bin:/usr/bin'</span>
&nbsp;
<span style="color: #007800;">VG</span>=<span style="color: #ff0000;">'/dev/vg0'</span>
<span style="color: #007800;">MYSQL_FS</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">${VG}</span>/fs_mysql&quot;</span>
<span style="color: #007800;">SNAPSHOT_MOUNT_POINT</span>=<span style="color: #ff0000;">'/mnt/snapshot'</span>
<span style="color: #007800;">SNAP_SIZE</span>=<span style="color: #ff0000;">'1024m'</span>
<span style="color: #007800;">DATE</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>Y-<span style="color: #000000; font-weight: bold;">%</span>m-<span style="color: #000000; font-weight: bold;">%</span>d<span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #007800;">BKP_DIR</span>=<span style="color: #ff0000;">&quot;/backup/mysql_backups/<span style="color: #007800;">$DATE</span>&quot;</span>
<span style="color: #007800;">SNAP_NAME</span>=<span style="color: #ff0000;">&quot;mysql_snapshot-<span style="color: #007800;">${DATE}</span>&quot;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000; font-weight: bold;">!</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>lvcreate <span style="color: #660033;">-s</span> <span style="color: #660033;">-n</span> <span style="color: #007800;">$SNAP_NAME</span> <span style="color: #660033;">-L</span> <span style="color: #007800;">$SNAP_SIZE</span> <span style="color: #007800;">$MYSQL_FS</span> <span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>; <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
<span style="color: #000000; font-weight: bold;">else</span>
        <span style="color: #000000; font-weight: bold;">if</span><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000; font-weight: bold;">!</span><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">mount</span> <span style="color: #660033;">-o</span> ro,noatime <span style="color: #800000;">${VG}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${SNAP_NAME}</span> <span style="color: #800000;">${SNAPSHOT_MOUNT_POINT}</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>; <span style="color: #000000; font-weight: bold;">then</span>
            <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
        <span style="color: #000000; font-weight: bold;">fi</span>
        <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #007800;">$BKP_DIR</span>
        <span style="color: #7a0874; font-weight: bold;">&#40;</span> <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #800000;">${SNAPSHOT_MOUNT_POINT}</span>;
        <span style="color: #000000; font-weight: bold;">for</span> DB <span style="color: #000000; font-weight: bold;">in</span> $<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">find</span> . <span style="color: #660033;">-type</span> d <span style="color: #660033;">-user</span> mysql<span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">egrep</span> <span style="color: #660033;">-v</span> <span style="color: #ff0000;">&quot;^\.$|lost\+found&quot;</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">'s/\.\///'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>; <span style="color: #000000; font-weight: bold;">do</span>
                <span style="color: #c20cb9; font-weight: bold;">tar</span> czf <span style="color: #007800;">$BKP_DIR</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$DB</span>.tar.gz <span style="color: #007800;">$DB</span>
                <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;OK: <span style="color: #007800;">$BKP_DIR</span>/<span style="color: #007800;">$DB</span>.tar.gz&quot;</span>
        <span style="color: #000000; font-weight: bold;">done</span>
        <span style="color: #7a0874; font-weight: bold;">&#41;</span>
        <span style="color: #c20cb9; font-weight: bold;">umount</span> <span style="color: #007800;">$SNAPSHOT_MOUNT_POINT</span>
        lvremove <span style="color: #660033;">-f</span> <span style="color: #800000;">${VG}</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${SNAP_NAME}</span>
        <span style="color: #c20cb9; font-weight: bold;">chown</span> <span style="color: #660033;">-R</span> mysql:mysql <span style="color: #007800;">$BKP_DIR</span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://dmesg.org.ua/2009/12/mysql-backup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Первый запуск MySQL в Slackware</title>
		<link>http://dmesg.org.ua/2009/07/first-run-mysql-in-slackware/</link>
		<comments>http://dmesg.org.ua/2009/07/first-run-mysql-in-slackware/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 17:35:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Администрирование]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[slackware]]></category>

		<guid isPermaLink="false">http://dmesg.org.ua/?p=72</guid>
		<description><![CDATA[Slackware &#8211; дистрибутив для сильных духом мужчин (не даром его выбрали русские физики). И поэтому просто запустить MySQL у Ваc в нем не получится, так как в поставке дистрибутива он идёт без каких либо баз данных. И в логе /var/lib/mysql/$(hostname).err Вы сразу после попытки запуска сможете увидеть следующее: 090722 21:06:53 mysqld started 090722 21:06:54 [Warning] [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-80" style="margin: 5px;" title="logo_mysql_sun_a" src="http://dmesg.org.ua/wp-content/uploads/2009/07/logo_mysql_sun_a.gif" alt="logo_mysql_sun_a" width="114" height="68" />Slackware &#8211; дистрибутив для сильных духом мужчин (не даром <a href="http://www.google.ru/search?q=%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B5+%D1%84%D0%B8%D0%B7%D0%B8%D0%BA%D0%B8+%D0%B2%D1%8B%D0%B1%D0%B8%D1%80%D0%B0%D1%8E%D1%82+&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t&amp;rls=org.mozilla:en-US:official&amp;client=firefox-a">его выбрали русские физики</a>). И поэтому просто запустить MySQL у Ваc в нем не получится, так как в поставке дистрибутива он идёт без каких либо баз данных. И в логе /var/lib/mysql/$(hostname).err Вы  сразу после попытки запуска сможете увидеть   следующее:<br />
<span id="more-72"></span><!--more--><br />
<code><br />
090722 21:06:53  mysqld started<br />
090722 21:06:54 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295<br />
090722 21:06:54 [Warning] option 'max_join_size': unsigned value 18446744073709551615 adjusted to 4294967295<br />
InnoDB: The first specified data file ./ibdata1 did not exist:<br />
InnoDB: a new database to be created!<br />
090722 21:06:54  InnoDB: Setting file ./ibdata1 size to 10 MB<br />
InnoDB: Database physically writes the file full: wait...<br />
090722 21:06:54  InnoDB: Log file ./ib_logfile0 did not exist: new to be created<br />
InnoDB: Setting log file ./ib_logfile0 size to 5 MB<br />
InnoDB: Database physically writes the file full: wait...<br />
090722 21:06:54  InnoDB: Log file ./ib_logfile1 did not exist: new to be created<br />
InnoDB: Setting log file ./ib_logfile1 size to 5 MB<br />
InnoDB: Database physically writes the file full: wait...<br />
InnoDB: Doublewrite buffer not found: creating new<br />
InnoDB: Doublewrite buffer created<br />
InnoDB: Creating foreign key constraint system tables<br />
InnoDB: Foreign key constraint system tables created<br />
090722 21:06:55  InnoDB: Started; log sequence number 0 0<br />
090722 21:06:55 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist<br />
090722 21:06:55  mysqld ended<br />
</code></p>
<p>Чтобы это сделать потребуется несколько простых операций:</p>
<ol>
<li>Запускаем MySQL игнорируюя таблицы GRANT</li>
<p><code>mysqld_safe --skip-grant-tables</code></p>
<li>Инициализируем структуру данных базы, запуская</li>
<p><code>mysql_install_db</code></p>
<li>Обновляем системные таблицы MySQL</li>
<p><code>mysql_fix_privilege_tables</code></p>
<li>Меняем права на директорию базы mysql и test</li>
<p><code>chown -R mysql:mysql /var/lib/mysql/mysql/<br />
chown -R mysql:mysql /var/lib/mysql/test/<br />
</code></p>
<li>Убиваем запущенный MySQL демон</li>
<p><code>killall mysqld</code></p>
<li>Нормально запускаем MySQL</li>
<p><code>sh /etc/rc.d/rc.mysqld start</code></ol>
]]></content:encoded>
			<wfw:commentRss>http://dmesg.org.ua/2009/07/first-run-mysql-in-slackware/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

