|
|
Программирование Все о программировании .... |
|
Опции темы | Поиск в этой теме |
03.12.2007, 10:51 Вверх | #1 | |||
Профессиональный DJ
|
Экстренная помощь или MySQL
MySQL - быстрый многопоточный, многопользовательский надежный SQL-сервер баз данных. (SQL - язык структурированных запросов). Сервер MySQL предназначен для разнообразных систем - от маленьких сайтов до крупных интернет-проектов. Сейчас это самый распространенный сервер баз данных в сети Интернет. MySQL - это система управления реляционными базами данных. В реляционной базе данных данные хранятся в отдельных таблицах, благодаря чему достигается выигрыш в скорости и гибкости. Таблицы связываются между собой, есть возможность объединять при выполнении запроса данные из нескольких таблиц. Предлагаю в этой теме обсуждать плюсы и минусы MySQL а также давать дельные советы в помощь начинающим.
так же выкладываю ссылку на тематический сайт посвященный MySQL. http://php-mysql.h1.ru/mysql.php |
|||
06.12.2007, 17:11 Вверх | #2 | |||
Профессиональный DJ
|
как выявить медленные Sql запросы?
Это случалось с каждым из нас при разработке веб-сайтов или приложений, использующих MySQL в качестве базы данных. Производительность внезапно сильно падала, и вы не имели понятия, почему это случилось. Этому могут быть причиной многие факторы (сильная загрузка CPU, нехватка дискового пространства, или слабая пропускная способность канала), но также это может быть и неоптимизированный запрос, выполняемый намного дольше, чем должен.
Как узнать, какие из запросов выполняются дольше всего? В MySQL есть встроенный функционал для ведения логов медленных запросов. Для включения этого функционала необходимо произвести одно из действий: добавить следующие строки в /etc/my.cnf: log-slow-queries=/tmp/slow_queries.log long_query_time=10 вызвать mysqld со следующими параметрами: –log-slow-queries[=/tmp/slow_queries.log] long_query_time — это максимальное количество секунд, которое может выполняться запрос, прежде чем он будет записан в лог медленных запросов. Другие связанные опции: –log-slow-admin-statements Записывать в лог медленные административные операторы такие, как OPTIMIZE TABLE, ANALYZE TABLE, и ALTER TABLE. –log-queries-not-using-indexes Если вы используете эту опцию вместе с –log-slow-queries, запросы, которые не используют индексы, будут записываться в лог медленных запросов. Если ведение лога медленных запросов было успешно включено, вы увидите «ON» в столбце «Value» для строки «log_slow_queries» (как показано на рисунке выше). Примечание: кэшированные запросы не будут записываться в лог. Также не будут записываться запросы, в которых индекс не приносит пользы из-за того, что в таблице ноль или одна запись. Вы можете столкнуться с ситуацией, когда запрос выполняется медленно только при определенных условиях (когда вы записываете его в лог), но при ручном запуске запрос отрабатывает нормально: Таблица может быть заблокирована (locked), ставя, таким образом, запрос в очередь ожидания. В таком случае lock_time определяет, когда таблица будет разблокирована, и как долго будет обрабатываться запрос. Данные и индексы не были занесены в кэш памяти. Это обычно случается, когда MySQL запускается в первый раз, или когда таблицы не были оптимизированы. Был запущен сторонний процесс, замедляющий работу диска. Сервер перегружен другими запросами в это время, и не хватает ресурсов CPU для эффективной работы. Анализ лога В составе MySQL есть утилита mysqldumpslow — Perl-скрипт, который суммирует данные лога, и наглядно отображает, насколько часто исполняется каждый из медленных запросов. —————————————————————————————— Справедливости ради, хочу добавить от себя пару слов. Поскольку это все-таки перевод, а не своя статья, я старался максимально точно перевести то, что написал автор. Но для тех, кто заинтересовался этой маленькой статьей, я хочу порекомендовать прочитать об этом функционале в официальном мануале MySQL. Ссылки: http://dev.mysql.com/doc/refman/5.0/en/s… — версия на английском языке http://www.mysql.ru/docs/man/Slow_query_… — версия на русском языке PS: это не значит, что в статье описаны какие-то ложные действия. Просто как приятный бонус (: |
|||
Cказали cпасибо: |
12.07.2010, 00:32 Вверх | #4 | |||
Знаток
|
У меня беда! Установила лицуху DLE 8.5. Бэкап сделала только из php my admin, пришлось заливать БД через хостеров.
Вот их ответ : Нажми для просмотра
К сожалению, указанный дамп не удалось полностью загрузить.
При загрузке выдавалась следующая ошибка: ERROR 1064 (42000) at line 36763: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$ 'vbblog', 'zCarot', 1210290421, '2.0.0 Beta 1'), Данная ошибка была нами исправлена. На данный момент выдается следующая ошибка: ERROR 1136 (21S01) at line 36763: Column count doesn't match value count at row 278 Вам необходимо привести дамп базы данных в корректный вид. Измененному нами дампу было присвоено следующее имя: wwwnesterovonlin_backup.sql Я в sql вообще дуб. Помогите плиз кто реально понимает в этом! Сайт работает полноценно, а вот форум нет. На форуме много пользователей и сообщений. Жаль терять все это. |
|||
12.07.2010, 01:37 Вверх | #5 | |||
Коварный тип
|
tanka1380, если форум сейчас работает - то сливай базу через дампер и не парься.
А причем тут DLE и булка. Можешь расписать проблему, а то я вообще не вкурил что откуда и куда перенеслось. |
|||
12.07.2010, 01:53 Вверх | #6 | |||
Знаток
|
У меня сайт DLE, форум Vbulleten. Единая бд у них. Я установила новый скрипт лицуху 8,5dle на сервере, папку ФОРУМ при этом не трогала. Установка прошла успешно, но на сайте и форуме пропали все пользователи, сообщения и пр. Один пользователь АДМИН и все. Бэкап БД делала только путем Экспорта из phpmyadmin себе на комп. Я написала хостерам чтоб они залили мою БД , предоставила БД хостерам, ну и вот ответ от них вы читали. Сайт сейчас работает, а форум выглядит так:
Нажми для просмотра
Ошибка базы данных
В базе данных Форум города Нестерова и Нестеровского района произошла ошибка. Попробуйте сделать следующее: Перезагрузить страницу, нажав кнопку Обновить. Открыть главную страницу nesterov-online.ru и попробовать перейти на другую страницу. Нажать на кнопку Назад и попробовать перейти по другой ссылке. Техническая поддержка форума nesterov-online.ru была уведомлена об этой ошибке. Если проблема долгое время не решается, Вы можете написать им письмо. Простите за причинённые неудобства. P.S. я пыталась залить БД через Putty, но ничего не вышло. раньше я это делала, а сеня никак. Может прогу надо активировать....но раньше я это делала и успешно. |
|||
Последний раз редактировалось tanka1380; 12.07.2010 в 01:58.. |
||||
12.07.2010, 02:05 Вверх | #7 | |||
Коварный тип
|
tanka1380, берешь дампер. Заливаешь на хост где база, делаешь дамп. Затем закидываешь в папку с дампом свой старый дамп, который у тебя есть, и восстаналиваешь его в новую базу тем же дампером. Т.е. меняешь содержимое базы.
|
|||
12.07.2010, 02:16 Вверх | #8 | |||
Знаток
|
Это как? Создать ещё одну БД? .... Я примерно, повторяю, ПРИМЕРНО понимаю о чём речь, но проделать это без ошибок...... даже не знаю, получится ли? Там, на форуме, очень много людей из разных городов искали и нашли своих погибших предков, родственников (город в котором я живу, был первым рубежом немецкой обороны Восточной Пруссии). Жаль, если всё пойдёт прахом.
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[Вопрос] Ошибка Мускула MySql | gus21rus | vBulletin 4.x | 9 | 15.08.2010 18:36 |
[Вопрос] MySQL Error | No xak | vBulletin 3.х | 3 | 01.05.2010 01:01 |
как перекодировать базу MySql | volker | Сайтостроение | 2 | 13.06.2009 10:57 |
PHP MYSQL сервер | CR@ZY HE@LTH | Linux | 1 | 27.08.2008 15:36 |