mySQL

ubuntu mysql Включить логгирование журналирование SQL запросов -- какой файл конфига править (16.04)

Для включения нам придётся поправить конфигурацию, а также возможно смотреть лог ошибок.

Вообще для включени логгирования нам нужны опции типа:

[mysqld]
general_log_file = /var/log/mysql/query.log
general_log      = 1

вопрос в том в какой файл это вставлять.

Быстрое решение (ubuntu)

Редактируем (этот файл у вас уже должен существовать):

mysql REPLACE -- как аналог INSERT, множественный INSERT из SELECT on Duplicate key update (ODKU)

Forums:

Оператор REPLACE работает точно так же, как INSERT, за исключением того, что если старая запись в данной таблице имеет то же значение индекса UNIQUE или PRIMARY KEY, что и новая, то старая запись перед занесением новой будет удалена.

Начиная с версии 5.6 можно использовать replace -- который просто перезапишет, старые данные новыми (то есть, запрос выполнился, даже если будет совпадение Primary Key или уникального ключа).

Пример множественного "инсерта" из select-a:

mysql Date - сравнение даты (столбца) со строковым литералом

Forums:

Можно сравинивать дату со строкой передавая строку в формате "год-месяц-число":

SELECT * FROM Ticket WHERE OpenDate > '2017-05-01';

Множественный INSERT -- для каждой строки из SELECT-а (пример SQL запроса) -- (аналог "цикла")

Forums:

Идя множественного добавления по результатам запроса такова:

INSERT INTO config (id, customer_id, domain) 
    SELECT DISTINCT id, customer_id, domain FROM config;

mysql Дефис в имени базы данных ("тире") -- SQL запрос (в том числе создание)

Forums:

Если в названии базы есть дефис, то необходимо такую строку окружить обратными кавычками, например:

create database `my-test-base`;

Иначе можно получить ошибку вроде:

ERROR 1064 (42000): 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 '

Источник решения: http://hijarian-sys.blogspot.ru/2011/09/...

virtualbox Ubuntu не завершеается работа -- висит. timeout

Если Ubuntu висит с логотипом и мигает лампочками --- то нажмите Esc (эскейп) и увидите что происходит.

Возможно, проблема в том, что происходит завершение служб -- если они висят, то то будут завершены по таймауту.

Например в моём случаем на завершение mySQL (видимо, зависшей) было выделено 5 минут 7 секунд.

mysql ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless opti on --binary-mode...Дамп не разворачивает

Forums:

Ошибка такого вида:

ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless opti
on --binary-mode is enabled and mysql is run in non-interactive mode. Set --bina
'.-mode to 1 if ASCII '\0' is expected. Query: ' ■

В ответ на команду типа (разворачивание дампа из файла):

mysql -u root -p -f  sqlstart  < D:/tmp/dumps/SQL10munutsDump.txt

(обычный текстовый SQL файл)

Pages

Subscribe to RSS - mySQL