mySQL

"mysql server has gone away 2006" Ошибка Решение

Forums:

mysql server has gone away

No connection. Trying to reconnect...

Что означает ошибка "server has gone away"

Сама по себе ошибка:

server has gone away

означает, что сервер закрыл соединение по таймауту.

Решением этой проблемы будет повторное открытие соединения и повторное выполнение запроса.

mysql table already exists error -- Ошибка Решение

Forums:

table already exists

-- такая ошибка означает, то таблица уже существует.

Если вы разворачиваете учебную базу данных (например эту, но впрочем, это может быть любая другая база), то возможны две ситуации:

  1. вы уже её развернули, а теперь пытаетесь это сделать второй раз (можно просто отказаться от этих попыток и начать работать с базой :)
  2. вы развернули не все таблицы, но какие-то развернули и из-за них возникают ошибки

Как заново развернуть дамп

Чтобы заново развернуть дамп:

mysql ubuntu linux Проверить что настройки применились -- команда терминала

Можно командой (предаврительно перезагрузив сервер):

sudo service mysql restart \
&& mysql -u root -p1234  -e "SHOW VARIABLES;"  | grep 'general_log'

где:

  • 'general_log' -- для поиска строк содержащих подстроку general_log
  • вместо 1234 -- ваш пароля к БД.

mysql deadlocks & lock wait timeouts -- что означают. Блокировки и транзакции

Forums:

Речь идёт о двух ситуациях, которые приводят к откату транзакции в MYSQL:

  • deadlock Мертвая блокировка -- Ситуация, где дело не во времени, а в связях между транзакциями и заблокированными ими сущностями.

    В качестве примера можно привести взаимную блокировку.

mysql Уникальный составной ключ, индекс -- пример SQL создания таблицы и её редактирования (добавление ключа) -- ограничение

Forums:

Уникальный индекс может быть и составным.

Редактирование таблицы (добавление ключа)

Можно сделать используя запрос вида:

ALTER TABLE `имяТаблицы` 
   ADD UNIQUE `имяИндекса` (`имяПоля1`, `имяПоля2`, ...)
;

Например:

ALTER TABLE `votes` 
   ADD UNIQUE `user_info_unique_index`(`user`, `email`, `address`)
;


Создание таблицы

Например так:

mysql Включить лог ошибочных некорректных запросов SQL

Forums:

Вроде как mysql вообще не логгирует некорректные запросы, даже в general_log

Включение лога обычных запросов

В ubuntu можно такой правкой конфига.

mysql Сменить collate (collation) кодировку и кодировку сравнения таблицы -- sql запрос

Forums:

Как-то так:

alter table имя_таблицы convert to 
   character set utf8 collate utf8_general_ci;

где utf8 -- имя кодировки.

mysql Выполнение запроса без подключения к базе -- командная строка терминал

Forums:

"Без подключения" в смысле без контекста mysql.

Вместо root, возможно? придётся использовать имя вашего пользователя mysql (если оно отличается).

Для конктреной базы

Можно так:

mysql -u root -p db1 -e "ваш SQL запрос"

Без выбора базы данных

Можно так:

mysql -u root -p  -e "ваш SQL запрос"

Фильтрация

Например, таким образом фильтровать данные о конфигурации базы в терминале линукс:

Pages

Subscribe to RSS - mySQL