<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Аникин: заметки с тегом mysql</title>
<link>https://anikin.pw/tags/mysql/</link>
<description>Блог об администрировании Linux, BSD и не только</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.3 (v4134)</generator>

<itunes:subtitle>Блог об администрировании Linux, BSD и не только</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Не стартует mysql в centos 6 после обновления.</title>
<guid isPermaLink="false">94</guid>
<link>https://anikin.pw/all/ne-startuet-mysql-v-centos-6-posle-obnovleniya/</link>
<pubDate>Mon, 17 Jun 2019 16:35:55 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/ne-startuet-mysql-v-centos-6-posle-obnovleniya/</comments>
<description>
&lt;p&gt;После обновления mysql до 5.7 он не стартует с ошибкой&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;[ERROR] Fatal error: mysql.user table is damaged. Please run mysql_upgrade.&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Добавляем в my.cnf в секцию [mysqld]&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;skip-grant-tables&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;С этим параметром стартуем mysql и делаем mysql_upgrade&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;service mysqld start
mysql_upgrade&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Затем убираем skip-grant-tables из конфига и рестартим mysql&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;service mysql restart&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Mysql должен запустится без ошибок&lt;/p&gt;
</description>
</item>

<item>
<title>Восстановление поврежденных innodb таблиц</title>
<guid isPermaLink="false">85</guid>
<link>https://anikin.pw/all/vosstanovlenie-povrezhdennyh-innodb-tablic/</link>
<pubDate>Fri, 25 May 2018 12:52:16 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/vosstanovlenie-povrezhdennyh-innodb-tablic/</comments>
<description>
&lt;p&gt;При повреждении innodb таблиц мускуль не стартует, что создает определенные сложности для ремонта таблиц.&lt;br /&gt;
Чтобы запустить мускуль нужно вписать в my.cnf&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;innodb_force_recovery = 1
innodb_purge_threads = 0&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Затем стартуем mysql. Он запустится в режиме в котором таблицы можно читать, но нельзя редактировать. И делаем дамп всех баз&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;mysqldump -u root -p --all-databases &amp;gt; dump.sql&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Теперь идем в каталог /var/lib/mysql и удаляем там все каталоги кроме mysql и performance_schema, файлы ib_logfile* и ibdata* тоже сносим.&lt;br /&gt;
Теперь убираем из my.cnf&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;innodb_force_recovery = 1
innodb_purge_threads = 0&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;И рестартуем mysql в нормальном режиме.&lt;br /&gt;
Теперь вернем все базы обратно&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;cat dump.sql | mysql -u root -p&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Дампы всех баз mysql</title>
<guid isPermaLink="false">62</guid>
<link>https://anikin.pw/all/dampy-vseh-baz-mysql/</link>
<pubDate>Tue, 29 Dec 2015 10:50:08 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/dampy-vseh-baz-mysql/</comments>
<description>
&lt;p&gt;Сделать дампы всех баз данных пользователя, каждую базу в отдельный дамп:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;for i in `mysql -u $USER -p$PASSWORD -e'show databases;' | \
 grep -v performance_schema | grep -v information_schema | grep -v mysql | \
 grep -v Database`; do mysqldump -u $USER -p$PASSWORD $i &amp;gt; /backup/mysql/$i.sql;done&lt;/code&gt;&lt;/pre&gt;&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;$USER - пользователь mysql&lt;/code&gt;&lt;/pre&gt;&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;$PASSWORD - пароль пользователя mysql&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Переводим php движки с mysql на mysqli</title>
<guid isPermaLink="false">58</guid>
<link>https://anikin.pw/all/perevodim-php-dvizhki-s-mysql-na-mysqli/</link>
<pubDate>Fri, 17 Jul 2015 18:22:16 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/perevodim-php-dvizhki-s-mysql-na-mysqli/</comments>
<description>
&lt;p&gt;Начиная с PHP 5.5.0 функции модуля mysql считаются устаревшими(deprecated), а в PHP 7 данный модуль вообще отсутствует, вместо него нужно использовать mysqli. Движки написаные с помощью функций модуля mysql не работают, т.к не могут подключится к базе данных и выдают в логе ошибки типа такой:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;PHP Fatal error:  Uncaught Error: Call to undefined function mysql_connect() in...&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;К счастью, исправить все функции mysql на mysqli можно автоматически, скриптом на любом сайте.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/philip/MySQLConverterTool"&gt;Вот здесь&lt;/a&gt; скачиваете zip архив. Создаете в каталоге домена подкаталог например convert и кладете туда содержимое архива.&lt;br /&gt;
Потом переходите по ссылке вида&lt;br /&gt;
&lt;a href="http://ваш_домен.ru/convert/GUI/index.php"&gt;http://ваш_домен.ru/convert/GUI/index.php&lt;/a&gt;&lt;br /&gt;
И видите&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://anikin.pw/pictures/---2015-07-17-18:19:36.png" width="682" height="456" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Тут я выбирал «Convert a file», т.к в ошибке указан файл в котором присутствует эта функция. Указываем путь к файлу примерно как на картинке. И выбираем сразу заменить старый файл и забекапить.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://anikin.pw/pictures/---2015-07-17-18:23:46.png" width="776" height="457" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Затем жмакаем «Start the conversion» и наслаждаемся результатом.&lt;/p&gt;
</description>
</item>

<item>
<title>Удаление ревизий записей в wordpress без плагинов из консоли.</title>
<guid isPermaLink="false">9</guid>
<link>https://anikin.pw/all/udalenie-reviziy-zapisey-v-wordpress-bez-plaginov-iz-konsoli/</link>
<pubDate>Sun, 20 Oct 2013 11:14:31 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/udalenie-reviziy-zapisey-v-wordpress-bez-plaginov-iz-konsoli/</comments>
<description>
WordPress по умолчанию сохраняет ревизии записей в базе mysql. В большинстве случаев эти ревизии не нужны, но они существенно замедляют работу базы mysql и увеличивают её размер.&lt;p&gt;

В первую очередь отключим сохранение ревизий. Откроем файл wp-config.php в папке сайта. И добавим в него строку:&lt;p&gt;

&lt;code&gt;define('WP_POST_REVISIONS', false);&lt;/code&gt;&lt;p&gt;

Перед выполнением работ с базой сделаем дамп базы на случай непредвиденных последствий.&lt;p&gt;

&lt;code&gt;# mysqldump -u пользователь_mysql -p имя_базы_wordpress &gt; dump.sql&lt;/code&gt;&lt;p&gt;

Система спросит пароль пользователя mysql.&lt;p&gt;
Мы сделали дамп, теперь можно работать с базой. Если что-то пойдёт не так, мы всегда можем восстановить её из дампа. Подключимся к серверу mysql&lt;p&gt;

&lt;code&gt;# mysql -u пользователь_mysql -p&lt;/code&gt;&lt;p&gt;

Система спросит пароль пользователя mysql, логинимся. Всё, мы в консоли mysql.&lt;p&gt;

&lt;a href="https://anikin.pw/pictures/uploads/Snimok-e`krana-ot-2013-10-20-101103.png"&gt;&lt;img src="https://anikin.pw/pictures/uploads/Snimok-e`krana-ot-2013-10-20-101103-300x95.png" alt="Снимок экрана от 2013-10-20 10:11:03" width="300" height="95" class="alignnone size-medium wp-image-18" /&gt;&lt;/a&gt;&lt;p&gt;

Выберем базу с которой будем работать, соответственно нам нужно знать название базы с которой работает wordpress.&lt;p&gt;

&lt;code&gt;mysql&gt; USE имя_базы_wordpress;&lt;/code&gt;&lt;p&gt;

Удаляем метаданные&lt;p&gt;

&lt;code&gt;mysql&gt; DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = ‘revision’ AND post_name LIKE ‘%revision%’);&lt;/code&gt;&lt;p&gt;

Удаляем таксономию&lt;p&gt;

&lt;code&gt;mysql&gt; DELETE FROM wp_term_relationships WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type = ‘revision’ AND post_name LIKE ‘%revision%’);&lt;/code&gt;&lt;p&gt;

Теперь удаляем сами ревизии.&lt;p&gt;

&lt;code&gt;mysql&gt; DELETE FROM wp_posts WHERE post_type = ‘revision’ AND post_name LIKE ‘%revision%’;&lt;/code&gt;&lt;p&gt;

И в конце выполняем оптимизацию таблицы&lt;p&gt;

&lt;code&gt;mysql&gt; OPTIMIZE TABLE wp_posts;&lt;/code&gt;&lt;p&gt;

Всё, ревизии удалены. Проверяем работоспособность сайта.</description>
</item>

<item>
<title>Автозагрузка mysql на виртуальном сервере.</title>
<guid isPermaLink="false">8</guid>
<link>https://anikin.pw/all/avtozagruzka-mysql-na-virtualnom-servere/</link>
<pubDate>Sun, 20 Oct 2013 11:07:57 +0300</pubDate>
<author></author>
<comments>https://anikin.pw/all/avtozagruzka-mysql-na-virtualnom-servere/</comments>
<description>
На некоторых виртуальных серверах VPS(VDS) не работает автозапуск mysql после ребута, из-за настроек стартового скрипта mysql. Исправить это довольно просто. Нужно указать mysql, что стартовать нужно независимо от настроек сети и файловых систем. В файле /etc/init/mysql.conf комментируем строки:&lt;p&gt;
&lt;code&gt;
#start on (net-device-up&lt;br /&gt;
# and local-filesystems&lt;br /&gt;
# and runlevel [2345])&lt;p&gt;
&lt;/code&gt;
И после них дописываем:&lt;p&gt;
&lt;code&gt;
start on runlevel [2345]
&lt;/code&gt;</description>
</item>


</channel>
</rss>