The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

MySQL специфика

   Корень / Программисту и web-разработчику / SQL и базы данных / MySQL специфика
Оптимизация и администрирование MySQL [36]

----* Использование разделов MySQL для разбиения таблицы по дням месяцам и годам   Автор: gara  [комментарии]
  Приходится иметь дело с таблицами, которые содержат редко (или никогда) обновляемые данные, такие как логи. Некоторые таблицы чистятся, некоторые хранят записи "вечно". Чтобы уменьшить нагрузку на диск и ФС, придумали такую вещь как partitioning (Cекционирование).
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Автозаполнение столбцов для автоинкремента в MySQL   Автор: Lennotoecom  [комментарии]
  Задача: В существующую таблицу добавить столбец, автоматически заполнить его от 1 до количества строк в таблице, сделать его ключевым с автоинкрементом.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Как обновить MySQL 5.0 до MySQL 5.1 в Gentoo Linux (доп. ссылка 1)   Автор: Dennis Yusupoff  [комментарии]
  Возникла необходимость обновить MySQL 5.0 до MySQL 5.1 в Gentoo с минимальным перерывом в работе, описываю свой опыт. Вполне допускаю, что будет для гуру банальностью, тем не менее, как "напоминалка" будет полезна. Хотя бы мне самому :) Основой послужили [[http://www.pkdavies.co.uk/blog/gentoo-mysql-5-1-upgrade статья Peter Davies'a]] и руководство [[http://dev.mysql.com/doc/refman/5.1/en/upgrade.html MySQL Upgrading MySQL]].
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Синхронизация файлов и содержимого БД MySQL на резервный сервер (доп. ссылка 1)   Автор: neiro  [комментарии]
  Есть два сервера под Linux/FreeBSD: СУБД MySQL + некое приложение, задача - синхронизировать БД и данные.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Быстрй перенос лог-файлов в MySQL   Автор: Alexey Lazarev  [комментарии]
  Наверняка, каждый сталкивался с задачей переноса лог-файлов из текстовых файлов в различные БД. И, наверняка, каждый столкнувшийся начинал писать собственные скрипты под это дело. Причем большинство виденных мной скриптов основывались на построчном чтении/переносе данных. Данный способ, конечно, хорош и имеет право на существование, но, к сожалению не очень быстр.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Смена mysql пароля для пользователя debian-sys-maint. (доп. ссылка 1)   Автор: Heckfy  [комментарии]
  Столкнулся с тем, что система отказалась проапгрейдиться посредством apt, так как не удается завершить демон mysql. Оказалось, что запуск и остановку демона делает пользователь базы данных debian-sys-maint.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Дамп больших InnoDB таблиц в MySQL (доп. ссылка 1)   Автор: ducea.com  [комментарии]
 
При дампе больших (10 Gb) InnoDB таблиц в MySQL через mysqldump 
на время операции таблица оказывается заблокированной.
Для того чтобы избежать блокировки и нарушения целостности нужно использовать
ключ  --single-transaction:

   mysqldump --single-transaction --quick very_large_db > bakup_of_db.sql
 
----* Пример работы с MySQL в bash скриптах   Автор: Luc!f3r  [комментарии]
  Пример1:
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Пример полнотекстового поиска в mySQL (доп. ссылка 1)   Автор: MEDBEDb  [обсудить]
 
CREATE TABLE table (
            id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
            column TEXT,
            FULLTEXT (column)
          );

SELECT * FROM table WHERE MATCH (column) AGAINST ('информация');
 AGAINST ('форма содержание') - все выражения, содержащие хотя бы одно из слов.
 AGAINST ('+форма +содержание') - оба слова.
 AGAINST ('+форма содержание') - искать "форма", при "содержание" больший релевант.
 AGAINST ('+форма -содержание') - "форма" без "содержание".
 AGAINST ('форма*') - "форма", "формат", "формация"
 AGAINST ('"форма или содержание"') - жестко по фразе
 
----* Как в MySQL обеспечить правильную сортировку данных в кодировке cp1251.   [комментарии]
 
MySQL должен быть собран с ключами:
   ./configure --with-charset=koi8_ru --with-extra-charsets=all
Далее, сразу после каждого соединения с базой нужно использовать оператор:
    SET CHARACTER SET cp1251_koi8
Если данные в cp1251 уже в базе, их нужно поместить в базу вновь.
 
----* Как сделать таблицу Exel из таблицы MySQL   Автор: Sergei A. Merkulov  [комментарии]
 
#!/usr/local/bin/perl
use DBI;
$table = "table"; $db = "base"; $db_serv = "192.168.0.1"; $user = "ser"; $passwd = "ser";
$c = DBI->connect("DBI:mysql:$db:$db_serv", $user, $passwd);
$statement = "select count(*) from $table";
$cc = $c->prepare($statement);
$ccc = $cc->execute;
@row = $cc->fetchrow_array;
$n = $row[0];
$statement = "select * from $table";
$cc = $c->prepare($statement);
$ccc = $cc->execute;
open F, "$ARGV[0]";
for ($i=0; $i<$n; $i++) {
  @row = $cc->fetchrow_array;
  print F "$row[0];$row[1];$row[3]\n";
}
Запускаем скрипт:
./mysql_2_exel.pl file
После этого можно открыть файл 'file' экселем.
 
----* Как поместить время в формате Epoch в MySQL   [обсудить]
 
from_unixtime(989493919)
 
----* Использование одного автоинкрементального счетчика для нескольких таблиц в MySQL (доп. ссылка 1) (доп. ссылка 2)   [комментарии]
  Решение задачи сохранения единого для нескольких таблиц автоинкрементального счетчика.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* насчет "Как ограничить число элементов выдаваемых SELECT в MySQL"   Автор: Vovik Alyekhin  [обсудить]
 
параметры limit действуют с точностью до наоборот.
первый параметр с какой записи, а второй сколько.
По крайней мере для mysql.
MC: Интересно, для PostgreSQL: "LIMIT { count | ALL } [ { OFFSET | , } start ]]"
 

 Версия для печати





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру