14.04.2009 от
nikolay
Имея доступ к консоли исходного сервера можно легко скопировать БД на другой сервере (например, при переезде вебсайта к другому хостинг-провайдеру). Единственное требование для успешности этой операции - новый сервер должен разрешать удаленные подключения к БД. Итак, как можно сделать копию БД на другом сервере?
1. Войдите в консоль на исходном сервере.
2. Введите команду mysqladmin -h ‘destination_host’ -u user -p create dest_db, где destination_host - ip адрес или имя удаленного сервера, user - имя пользователя на удаленном сервере, а dest_db имя создаваемой базы данных.
3. Введите команду mysqldump -u user2 –password=XXXX –opt –compress source_db | mysql -h ‘destination_host’ -u user -p dest_db, user2 и XXXX это логин и пароль на локальном сервере.
См. также:
Как сбросить пароль MySQL?
Название текущей базы данных MySQL
Вывод доступных баз данных MySQL
Рубрики: Настройки, Разное |
Комментариев нет »
08.04.2009 от
nikolay
Иногда нужно увеличить параметр max_allowed_packet временно, для конкретного приложения, работающего с MySQL. В этом случае удобно воспользоваться следующим запросом:
SET max_allowed_packet = 1500000;
Таким образом, мы можем временно для конкретной сессии менять значения данного параметра.
См. также:
LAST_INSERT_ID и его параметр
DES_ENCRYPT и DES_DECRYPT
Вывод результатов запроса по вертикали в консоли MySQL
Рубрики: Настройки, Разное |
Комментариев нет »
11.03.2009 от
nikolay
Оказывается у запросов SELECT есть множество опций, которые могут оказывать значительное воздействие на производительность запроса.
Так, например, запрос вида SELECT SQL_BUFFER_RESULTS… заставит MySQL сделать временный результат в промежуточном буфере. Как только временные данные в буфере будут сделаны, все блокировки с таблицы будут сняты. Это может помочь, если у вас проблемы с блокировками таблицы или когда требуется много времени для передачи полученных данных к клиенту.
См. также:
Типы таблиц MySQL
SELECT HIGH_PRIORITY…
Кодировки, кодировки, кодировки…
Рубрики: Настройки, Производительность |
Комментариев нет »
17.02.2009 от
nikolay
Если у вас после реализации полнотекстового поиска почему-то не ищутся слова короче 4-х букв, то вам нужно просто изменить в конфиге MySQL значение опции ft_min_word_len. По умолчанию ft_min_word_len = 4, что означает минимальную длину у слова 4 символа. Но это еще не все, после изменения опции нужно:
- перезапустить MySQL-сервер
- выполнить для таблицы с полнотекстовым индексом команду REPAIR TABLE table_name QUICK
См. также:
Особенности работы с UTF-8 и MySQL
Конструкция SELECT SQL_NO_CACHE…
Опция i-am-a-dummy
Рубрики: Настройки, Разное |
Комментариев нет »
17.02.2009 от
nikolay
Оказывается в настройках MySQL есть просто туева куча кодировок. Кодировка для того, кодировка для сего… а потом мы удивляемся отчего не работает сортировка или поиск по таблице. Вот коллега постарался и собрал информацию воедино. Собственно соответствующий список параметров конфига MySQL:
- character_set_client - кодировка в которой данные будут поступать от клиента
- character_set_connection - кодировка по умолчанию для всего, что в рамках соединения не имеет кодировки
- character_set_database - кодировка по умолчанию для баз
- character_set_filesystem - кодировка для работы с файловой системой (LOAD DATA INFILE, SELECT … INTO OUTFILE, и т.д.)
- character_set_results - кодировка, в которой будет выбран результат
- character_set_server - кодировка, в которой работает сервер
- character_set_system - кодировка, в которой задаются идентификаторы MySQL, всегда UTF8
- character_sets_dir - папка с кодировками
Лично я, работая только и всегда с UTF-8, придерживаюсь простого правила и у меня всегда все работает - база, таблицы и поля у меня всегда в кодировке utf8_general_ci, из скрипта при подключении выполняется SET NAMES UTF8. Всё!
Перевод технической документации MySQL осуществлен при поддержке бюро переводов Bues.ru.
См. также:
Доступные кодировки в MySQL
Имена таблиц чувствительные к регистру… но не всегда!
Как быстро узнать сколько всего строк без учета LIMIT?
Рубрики: Настройки, Разное |
Комментариев нет »
03.02.2009 от
nikolay
Наткнулся тут на один оптимизационный скрипт, выдающий советы по тюнингу конфига MySQL. Качать здесь.
Оптимизировал у себя на одном сервере - вроде все ок, правда прироста не заметил особого :).
См. также:
Как сбросить пароль MySQL?
MySQL: error 28
Быстрый перенос базы данных с одного сервера на другой
Рубрики: Настройки, Утилиты, Производительность |
Комментариев нет »
27.01.2009 от
nikolay
Забыл тут рутовский пароль MYSQL на одном сервере, - вот хоть убей помнил, но забыл :). Поиск по сети дал следующее работающее решение.
Ксати, у меня на одном серваке стоит Debian и там mysql как-то автоматом логинится под root’ом - просто вбиваешь в консоли mysql и ты уже под рутом. В этом случае, похоже, хватит и таких команд:
UPDATE user SET password=password('new_password') WHERE user='root';
flush PRIVILEGES;
См. также:
Быстрый перенос базы данных с одного сервера на другой
Как определить самую ресурсоемкую таблицу MySQL?
Тюнинг конфига MySQL
Рубрики: Настройки, Утилиты |
Комментариев нет »