<?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>Unix notes &#187; mysql</title>
	<atom:link href="http://unix-notes.ru/category/mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://unix-notes.ru</link>
	<description>Заметки по настройке Unix/Linux систем, хостинг-серверов</description>
	<lastBuildDate>Thu, 03 Nov 2011 12:43:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Простой бэкап MyISAM таблиц MySQL без остановки сервера</title>
		<link>http://unix-notes.ru/2010/04/14/prostojj-behkap-myisam-tablic-mysql-bez-ostanovki-servera/</link>
		<comments>http://unix-notes.ru/2010/04/14/prostojj-behkap-myisam-tablic-mysql-bez-ostanovki-servera/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 13:19:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=600</guid>
		<description><![CDATA[Суть в том, что мы не прерываем выполнение запросов на чтение, но в то же время получаем консистентный бэкап. Делаем: mysql -p В mysql-консоли: FLUSH TABLES WITH READ LOCK; Ждем пока выполнится запрос. В другой консоли просто копируем папку с нужной базой (базами) в бэкап. В mysql-консоли: UNLOCK TABLES;]]></description>
			<content:encoded><![CDATA[<p>Суть в том, что мы не прерываем выполнение запросов на чтение, но в то же время получаем консистентный бэкап.<br />
Делаем:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql -p</div></div>
<p>В mysql-консоли:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">FLUSH TABLES WITH READ LOCK;</div></div>
<p>Ждем пока выполнится запрос.<br />
В другой консоли просто копируем папку с нужной базой (базами) в бэкап.<br />
В mysql-консоли:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">UNLOCK TABLES;</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2010/04/14/prostojj-behkap-myisam-tablic-mysql-bez-ostanovki-servera/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Обслуживание и восстановление баз MySQL</title>
		<link>http://unix-notes.ru/2009/05/25/obsluzhivanie-i-vosstanovlenie-baz-mysql/</link>
		<comments>http://unix-notes.ru/2009/05/25/obsluzhivanie-i-vosstanovlenie-baz-mysql/#comments</comments>
		<pubDate>Mon, 25 May 2009 11:10:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysqlcheck]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=349</guid>
		<description><![CDATA[Проверка и восстановление всех баз: mysqlcheck --repair --analyze --all-databases --auto-repair Оптимизация всех таблиц всех баз: mysqlcheck --all-databases --optimize]]></description>
			<content:encoded><![CDATA[<p>Проверка и восстановление всех баз:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysqlcheck --repair --analyze --all-databases --auto-repair</div></div>
<p>Оптимизация всех таблиц всех баз:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysqlcheck --all-databases --optimize</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2009/05/25/obsluzhivanie-i-vosstanovlenie-baz-mysql/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Скрипт создания mysql-баз по списку из файла</title>
		<link>http://unix-notes.ru/2009/05/18/skript-sozdaniya-mysql-baz-po-spisku-iz-fajjla/</link>
		<comments>http://unix-notes.ru/2009/05/18/skript-sozdaniya-mysql-baz-po-spisku-iz-fajjla/#comments</comments>
		<pubDate>Mon, 18 May 2009 16:18:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=346</guid>
		<description><![CDATA[Скрипт читает построчно из файла и создает базы с таким именем и юзером. Пароли к ним генерит. Внимание к длине имени базы! (не больше 16 символов) #!/bin/bash SQLUSER=root SQLPASS=password cat /home/admin/bases &#124; while read base; do &#160; &#160; PASS=`&#60; /dev/urandom tr -dc A-Za-z0-9 &#124; head -c15` &#160; &#160; echo &#34;CREATE DATABASE $base;&#34;&#124;mysql --password=$SQLPASS &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Скрипт читает построчно из файла и создает базы с таким именем и юзером. Пароли к ним генерит.<br />
Внимание к длине имени базы! (не больше 16 символов)</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">#!/bin/bash<br />
<br />
SQLUSER=root<br />
SQLPASS=password<br />
<br />
cat /home/admin/bases | while read base; do<br />
<br />
&nbsp; &nbsp; PASS=`&lt; /dev/urandom tr -dc A-Za-z0-9 | head -c15`<br />
<br />
&nbsp; &nbsp; echo &quot;CREATE DATABASE $base;&quot;|mysql --password=$SQLPASS<br />
&nbsp; &nbsp; echo &quot;GRANT ALL PRIVILEGES ON $base.* TO &quot;$base&quot;@&quot;localhost&quot; IDENTIFIED BY \&quot;$PASS\&quot;;&quot;|mysql --password=$SQLPASS<br />
<br />
&nbsp; &nbsp; echo &quot;User: $base Password: $PASS&quot;<br />
<br />
done<br />
<br />
echo &quot;FLUSH PRIVILEGES;&quot; | mysql --password=$SQLPASS</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2009/05/18/skript-sozdaniya-mysql-baz-po-spisku-iz-fajjla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Сбросить пароль в MySQL</title>
		<link>http://unix-notes.ru/2009/04/13/sbrosit-parol-v-mysql/</link>
		<comments>http://unix-notes.ru/2009/04/13/sbrosit-parol-v-mysql/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 16:18:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=318</guid>
		<description><![CDATA[echo &#34;skip-grant-tables&#34; &#62;&#62; /etc/my.cnf service mysqld restart mysql UPDATE mysql.user SET PASSWORD=PASSWORD('5Z2LMG0xpa') WHERE user='root' AND host='localhost'; quit Удалить строчку из /etc/my.cnf service mysqld restart]]></description>
			<content:encoded><![CDATA[<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">echo &quot;skip-grant-tables&quot; &gt;&gt; /etc/my.cnf<br />
service mysqld restart<br />
mysql<br />
UPDATE mysql.user SET PASSWORD=PASSWORD('5Z2LMG0xpa') WHERE user='root' AND host='localhost';<br />
quit<br />
Удалить строчку из /etc/my.cnf<br />
service mysqld restart</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2009/04/13/sbrosit-parol-v-mysql/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Проблема при переходе с MySQL 5.0 на MySQL 5.1</title>
		<link>http://unix-notes.ru/2009/03/30/problema-pri-perekhode-s-mysql-50-na-mysql-51/</link>
		<comments>http://unix-notes.ru/2009/03/30/problema-pri-perekhode-s-mysql-50-na-mysql-51/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 20:41:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=290</guid>
		<description><![CDATA[Проблема проявляется при апдейте (yum &#8211;enablerepo=remi update mysql) мускула с уже существующими таблицами. Выглядит она как сообщение: &#8220;cannot proceed because system tables used by Event Sheduler were found damaged at server start&#8221; при попытке сбэкапить базу. Для починки: mysql_upgrade -f -p -v service mysqld restart]]></description>
			<content:encoded><![CDATA[<p>Проблема проявляется при апдейте (yum &#8211;enablerepo=remi update mysql) мускула с уже существующими таблицами. Выглядит она как сообщение: &#8220;cannot proceed because system tables used by Event Sheduler were found damaged at server start&#8221; при попытке сбэкапить базу.<br />
Для починки:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql_upgrade -f -p -v<br />
service mysqld restart</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2009/03/30/problema-pri-perekhode-s-mysql-50-na-mysql-51/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL, mysqldump и кодировки</title>
		<link>http://unix-notes.ru/2009/03/09/mysql-mysqldump-i-kodirovki/</link>
		<comments>http://unix-notes.ru/2009/03/09/mysql-mysqldump-i-kodirovki/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 09:55:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysqldump]]></category>
		<category><![CDATA[кодировки]]></category>

		<guid isPermaLink="false">http://unix-notes.ru/?p=251</guid>
		<description><![CDATA[При переносе базы с одного сервера на другой посмотреть в какой кодировке создана база (show create database base_name) и таблица (show create table table_name). Так же необходимо знать в какой кодировке были сами данные. сделать дамп: mysqldump -ubackup -pPassword base_name --allow-keywords --create-options --complete-insert --default-character-set=latin1 --add-drop-table --single-transaction &#62; ./base_name.sql если заливать надо будет на MySQL 4 [...]]]></description>
			<content:encoded><![CDATA[<p>При переносе базы с одного сервера на другой посмотреть в какой кодировке создана база (show create database base_name) и таблица (show create table table_name). Так же необходимо знать в какой кодировке были сами данные.</p>
<p>сделать дамп:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysqldump -ubackup -pPassword base_name --allow-keywords --create-options --complete-insert --default-character-set=latin1 --add-drop-table --single-transaction &gt; ./base_name.sql</div></div>
<p>если заливать надо будет на MySQL 4 то так:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysqldump -ubackup -pPassword base_name --allow-keywords --create-options --complete-insert --default-character-set=latin1 --add-drop-table --single-transaction --skip-add-locks --skip-disable-keys --no-tablespaces &gt; ./base_name.sql</div></div>
<p>где latin1 &#8211; кодировка самих таблиц исходной базы, а не данных! Тогда при создании дампа данные не будут перекодироваться и отдадуться в правильном виде.</p>
<p>Далее надо открыть дамп в редакторе поддерживащем UTF8, например, в Notepad++ и проверить, что данные нормально читаются. Потом отредактировать этот дамп и поменять в операторах создания базы и таблиц latin1=>utf8. Потом уже заливать в новое место как UTF8. </p>
<p>ЗЫ. Если после всех этих телодвижений wordpress показывает кракозябры &#8211; надо прописать define(&#8216;DB_CHARSET&#8217;, &#8216;utf8&#8242;); в wp-config.php</p>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2009/03/09/mysql-mysqldump-i-kodirovki/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>установка и запуск mysql, оптимизиция производительности</title>
		<link>http://unix-notes.ru/2008/12/09/ustanovka-i-zapusk-mysql/</link>
		<comments>http://unix-notes.ru/2008/12/09/ustanovka-i-zapusk-mysql/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 13:26:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://notes.102050.com/?p=53</guid>
		<description><![CDATA[cd /usr/ports/databases/mysql50-server &#38;&#38; make install базы будем держать в /home/mysql echo &#34;mysql_enable=&#34;YES&#34;&#34; &#62;&#62; /etc/rc.conf echo &#34;mysql_dbdir=&#34;/home/mysql/&#34;&#34; &#62;&#62; /etc/rc.conf копируем my.cnf mkdir /home/mysql mkdir /home/mysql/tmp chown -R mysql /home/mysql/ chmod -R 755 /home/mysql/ Конфига мускула зависят от размера базы, размера оперативы, характера нагрузки и тд. Но для сервака порядка Xeon 5150 / 2GB и средней нагрузки [...]]]></description>
			<content:encoded><![CDATA[<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">cd /usr/ports/databases/mysql50-server &amp;&amp; make install</div></div>
<p>базы будем держать в /home/mysql</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">echo &quot;mysql_enable=&quot;YES&quot;&quot; &gt;&gt; /etc/rc.conf<br />
echo &quot;mysql_dbdir=&quot;/home/mysql/&quot;&quot; &gt;&gt; /etc/rc.conf</div></div>
<p>копируем my.cnf</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mkdir /home/mysql<br />
mkdir /home/mysql/tmp<br />
chown -R mysql /home/mysql/<br />
chmod -R 755 /home/mysql/</div></div>
<p>Конфига мускула зависят от размера базы, размера оперативы, характера нагрузки и тд.<br />
Но для сервака порядка Xeon 5150 / 2GB и средней нагрузки можно для начала так:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">[mysqld]<br />
bind-address = 127.0.0.1<br />
<br />
datadir=/home/mysql/myisam<br />
port&nbsp; &nbsp; &nbsp; &nbsp; = 3306<br />
socket&nbsp; &nbsp; &nbsp; = /tmp/mysql.sock<br />
skip-locking<br />
<br />
key_buffer = 128M<br />
max_allowed_packet = 8M<br />
table_cache = 1024<br />
sort_buffer_size = 32M<br />
read_buffer_size = 32M<br />
read_rnd_buffer_size = 16M<br />
myisam_sort_buffer_size = 64M<br />
thread_cache_size = 30<br />
query_cache_size = 128M<br />
join_buffer_size = 8M<br />
max_connections = 100<br />
max_connect_errors=10000<br />
thread_concurrency = 4 #Try number of CPU's*2 for thread_concurrency<br />
net_buffer_length = 32K<br />
expire_logs_days = 10<br />
log_warnings = 1<br />
wait_timeout = 100<br />
interactive_timeout = 100<br />
concurrent_insert = 2<br />
tmp_table_size = 32M<br />
max_heap_table_size = 32M<br />
myisam-recover=backup,force<br />
<br />
tmpdir &nbsp;= /home/mysql/tmp/</div></div>
<p>Для выявление тормозных запросов можно использовать slow log, mytop.<br />
Посмотреть эффективность кэширование:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysqladmin extended-status | egrep Qcache</div></div>
<p>Qcache_free_blocks показывает сколько свободных блоков есть в кеше;<br />
Qcache_total_blocks &#8211; количество занятых блоков;<br />
Qcache_free_memory говорит о том, сколько свободной памяти осталось в кеше;<br />
Qcache_hits &#8211; количество запросов, результаты которых были взяты из кеша;<br />
Qcache_inserts &#8211; количество запросов, которые были добавлены в кеш;<br />
Qcache_lowmem_prunes &#8211; количество запросов, которые были удалены из кеша из-за нехватки памяти;<br />
Qcache_not_cached &#8211; количество запросов, которые не были записаны в кеш из-за использования функций работы со временем и т.п.;<br />
Qcache_queries_in_cache &#8211; количество запросов, которые находятся в кеше.</p>
<p>После начала эксплуатации еще хорошо посмотреть что о настройках скажет <noindex><a rel="nofollow" target="_blank" href="http://wiki.mysqltuner.com/MySQLTuner">mysqltuner</a></noindex></p>
<p>Оптимизация таблиц:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysqlcheck --repair --analyze --optimize --all-databases --auto-repair</div></div>
<p><strong>Важный момент (FreeBSD):</strong><br />
Необходимо следить, чтобы размер процесса mysqld не превысил максимального размера памяти доступного для одного процесса. Если используется FreeBSD c архитектурой i386, то по умолчанию этот размер равен 512MB. Если произойдет превышение, то в логе мускуля будут такие сообщения: &#8220;/usr/local/libexec/mysqld: Out of memory (Needed 2375270 bytes)&#8221;. Чтобы увеличить это значение необходимо сделать kern.maxdsiz=1073741824 в /boot/loader.conf<br />
Посчитать объем памяти, который займет mysqld можно по этой формуле: key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections</p>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2008/12/09/ustanovka-i-zapusk-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mysql лог медленных запросов</title>
		<link>http://unix-notes.ru/2008/12/09/mysql-log-medlennykh-zaprosov/</link>
		<comments>http://unix-notes.ru/2008/12/09/mysql-log-medlennykh-zaprosov/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 12:44:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[slow query]]></category>

		<guid isPermaLink="false">http://notes.102050.com/?p=19</guid>
		<description><![CDATA[long_query_time=2 log-slow-queries=/var/log/slowquery.log # log_queries_not_using_indexes = 1 touch /var/log/slowquery.log chmod 777 /var/log/slowquery.log]]></description>
			<content:encoded><![CDATA[<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">long_query_time=2<br />
log-slow-queries=/var/log/slowquery.log<br />
# log_queries_not_using_indexes = 1<br />
touch /var/log/slowquery.log<br />
chmod 777 /var/log/slowquery.log</div></div>
]]></content:encoded>
			<wfw:commentRss>http://unix-notes.ru/2008/12/09/mysql-log-medlennykh-zaprosov/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

