@mysql_ru

Страница 16 из 142
Alexander
04.05.2017
20:28:45
бесплатное. да вроде есть на русском, как и что. но и оф. док вполне достаточно, даже не зная буржуйского

Ринат
04.05.2017
20:29:18
понял, спасибо. Т.е сливать дельту-достаточно тривиальное решение и правильное по своей сути?

Alexander
04.05.2017
20:29:30
ну, не совсем тривиальное

Ринат
04.05.2017
20:29:39
а правильное?

Google
Ринат
04.05.2017
20:29:46
если база большая

то каждый день делать копии-не гуд

Alexander
04.05.2017
20:29:53
оно правильное. но не тривиальное

Ринат
04.05.2017
20:29:54
всей

Alexander
04.05.2017
20:30:11
ну, тогда ещё про percona toolkit почитай

и утилиты из него дня сравнения баз мастер-слейв

Ринат
04.05.2017
20:30:44
благодарю

автоинкремент озадачил конечно. Он и не даёт вставить из за того что является внешним ключом

мб REFERENCES стоило другой указать

Yura
04.05.2017
20:32:09
Да, пробовал, такая же беда
Может попробовать сменить кодировку в самой таблице на такую, в которой есть емоджи и сделать дамп в другой кодировке?

Ринат
04.05.2017
20:32:15
ON DELETE CASCADE. Но тоже странно

Alexander
04.05.2017
20:32:32
если кратко: 1. подключаешь слейва 2. делаешь со слейва бэкапы через xtrabackup, хочешь - полные, хочешь - инкрементальнае 3. используешь pt-table-check для контроля того, что таблицы на мастере и слейве - идентичны

впрочем, 3-ий пункт не всегда применим, если данные часто и много обновляются

Google
Yura
04.05.2017
20:33:03
Да, пробовал, такая же беда
Только меняй кодировку на копии таблицы, чтобы оригинальную не зафачить

Amir
05.05.2017
04:33:10
[info] Checking for tables which need an upgrade, are corrupt or were not closed cleanly.. выдает вот это при запуске стоит ли беспокоится ? удалил все и вся базы всеравно при рестарте выдает в коносли вот эту строку [info] Checking for tables which need an upgrade, are corrupt or were not closed cleanly..

Yura
05.05.2017
05:05:50
Обычное приветствие при старте. Проверяет, все ли в порядке со всеми таблицами.

Amir
05.05.2017
06:11:54
дану

раньше так не приветствовал вроде бы :)

а я все уже успел похерить изза этой приветственности

Ivan
05.05.2017
06:39:37
Нормальное сообщение, не переживай

Amir
05.05.2017
07:05:00
хочу установить Upstart Debian мне говорит Reading state information... Done The following extra packages will be installed: libnih-dbus1 libnih1 makedev mountall plymouth Suggested packages: desktop-base plymouth-drm graphviz The following packages will be REMOVED: sysvinit The following NEW packages will be installed: libnih-dbus1 libnih1 makedev mountall plymouth upstart WARNING: The following essential packages will be removed. This should NOT be done unless you know exactly what you are doing! sysvinit 0 upgraded, 6 newly installed, 1 to remove and 0 not upgraded. Need to get 964 kB of archives. After this operation, 2,083 kB of additional disk space will be used. You are about to do something potentially harmful. To continue type in the phrase 'Yes, do as I say!' ?] Незнаю даже чтои ответить

он обещает удалить sysvinit будет плохо?

Alexander
05.05.2017
07:10:24
а зачем тебе апстарт, если такие вопросы задаёшь?

Fike
05.05.2017
07:11:36
это канал про аниме? как установить апстарт?

Amir
05.05.2017
07:14:23
puma запускается по апстарту

Ivan
05.05.2017
07:17:10
Друг, пожлауйста, не ставь апстарт. Ты огребёшь больше проблем, чем решений. Перепиши лучше запуск этой пумы на bash иил найди в интернете.

И дело не в апстарте. Просто ты любишь всё ломать. Не надо всё ломать.

Fike
05.05.2017
07:18:26
Ivan
05.05.2017
07:18:51
у меня слов нет
не, ну нормальное решение, нужен пакет - ставим пакет, не?

ну не знает человек, что этот пакет положит всю систему :)

Fike
05.05.2017
07:19:17
пакет не нужен

Google
Amir
05.05.2017
07:34:39
в гайдах речь только про апстарт и ссылка к нему

Zaur
05.05.2017
12:51:04
Только меняй кодировку на копии таблицы, чтобы оригинальную не зафачить
Решил проблему, надо было прописать в конфиге: [client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci И перезапустить mysql

Ivan
05.05.2017
12:53:46
Котаны, а что там с event'ами в галере? Они работают? Хаки, трики? Потому что чувствую я - не взлетит оно сразу

Stas
07.05.2017
15:44:16
как имея доступ к серверу посмотреть все что на нем имеется, структуру, код, сервисы, связи? в каком-нибудь понятном виде

Fike
07.05.2017
15:48:47
нет таких штук

ps aux самое ближайшее

Stas
07.05.2017
15:56:02
то есть неподкованному парню там тяжело будет что-то найти?

Fike
07.05.2017
15:58:55
оно так вообще со всеми вещами в этом мире

Timur
11.05.2017
04:49:46
htop iotop ps aux netstat naept ls -la df -h lspci dpkg -l (rpm -qa)

Ну и конфиги там смотреть (MySQL, httpd, nginx, etc.)

Andrew
12.05.2017
07:10:27
привет. такой интересный вопрос у меня возник насчет sql запроса. никак не могу понять. допустим, есть таблица с некими объектами. есть таблица с категориями этих объектов и таблица, связывающая категории и объекты вида id_cat id_obj. у одного объекта может быть много категорий. нужно сделать выборку объектов, удовлетворяющих категориям с логическим AND.

Alexander
12.05.2017
07:10:53
join ?

Andrew
12.05.2017
07:11:33
это то да, проблема в том, когда несколько категорий

использую right join

Fike
12.05.2017
07:12:10
Делай несколько джойнов

Alexander
12.05.2017
07:12:14
если правильно понял (телепаты в отпуске), то можно where id_cat in (sub-select)

если join-ов не хочется

Andrew
12.05.2017
07:13:01
тоже думал про несколько джоинов, но им же нужно свой алиас, а категорий может быть много

Fike
12.05.2017
07:16:18
Ты не можешь указать два алиаса?

Andrew
12.05.2017
07:16:47
а если категорий 10?

Google
Alexander
12.05.2017
07:17:36
10 категорий и условие and?

Andrew
12.05.2017
07:19:24
сейчас у меня так SELECT id, bla, blo FROM Objects RIGHT JOIN (SELECT DISTINCT id_obj FROM CategoriesOfObj WHERE CategoriesOfObj.id_category = 1 OR CategoriesOfDeck.id_category = 2) AS TCategories ON TCategories.id_obj = id ORDER BY id DESC LIMIT 0,20

с OR работает корректно

но хотелось с AND

я понимаю, что заменить OR на AND здесь неуместно, но не могу догнать как сделать по другому

Alexander
12.05.2017
07:21:25
стоп, т.е. нужно выбрать те объекты, что и в категории 1 и в категории 2?

Fike
12.05.2017
07:21:27
а если категорий 10?
указать десять алиасов

Fike
12.05.2017
07:21:46
нет же никакого ограничения кроме ментального "ну много чет"

на самом деле там нужно поле-массив, но это не к sql

Andrew
12.05.2017
07:23:31
ну 10 алиасов указывать как то странно будет, ищу пока более изящное решение)

Fike
12.05.2017
07:24:47
что странного-то?

Да, это будет медленно работать, и, возможно, кт-то предложит решение попроизводительней. Но мы обсуждаем вопрос шашечек и езды.

Andrew
12.05.2017
07:27:07
я тут значит решил привести БД в нормальную форму и избавиться от шашечек и езды, опять к ним как то не хочется:D

Fike
12.05.2017
07:29:54
ну не хочешь ехать - не едь

Alexander
12.05.2017
07:31:11
where cat_id not in (select cat_id where cat_id not in (1,2,3,4,5,6,7,8))

если совсем колбаситься

Andrew
12.05.2017
11:08:30
если кому интересно, дошел до такого варианта SELECT id, bla, blo FROM Objects INNER JOIN (SELECT id_obj FROM CategoriesOfObj WHERE id_cat IN (1,2) GROUP BY id_obj HAVING COUNT(*) = 2) AS TCategories ON TCategories.id_obj = id ORDER BY id DESC LIMIT 0,20

Alexander
12.05.2017
11:09:14
так OR же

Andrew
12.05.2017
11:10:24
да, но при группировке по id_obj мы получаем количество найденных категорий и потом сравниваем их с HAVING COUNT(*) = n

Google
Alexander
12.05.2017
11:11:11
т.е. всё-таки ищется не вхождение в категории по id с условием AND, а количество категорий, в которые входит объект

Andrew
12.05.2017
11:11:12
тоже велосипед еще тот, но как я понял, тут по нормальному не сделать

по сути да, но тут с условием AND и не сделать никак, так как это данные находятся на разных строках

id id_cat id_obj 1 1 1 2 2 1

3 1 2

и тд

мы же рассматриваем только одну строку за один раз

Yuriy
12.05.2017
12:04:29
всем привет, скажите пожалуйста в чем отличие одно и двунаправленых связей многоКоМногим ?

Ринат
12.05.2017
22:02:37
что то CASE WHEN не могу посчитать количество строк по датам

SELECT CASE WHEN (created_at >= '2015-01-01 00:00:00' AND created_at < '2016-01-01 00:00:00') THEN count(id) END, CASE WHEN (created_at >= '2016-01-01 00:00:00' AND created_at < '2017-01-01 00:00:00') THEN count(id) END, CASE WHEN (created_at >= '2017-01-01 00:00:00' AND created_at < '2018-01-01 00:00:00') THEN count(id) END FROM post;

lost
12.05.2017
22:12:17
потому что case нужно в count передать

и лучше заменить ан if в этом примере

count(IF(dt betwee foo and foo2, id, NULL))

Ринат
12.05.2017
22:14:04
о как

сейчас попробую

lost
12.05.2017
22:15:32
Ринат, [13.05.17 01:02] SELECT CASE WHEN (created_at >= '2015-01-01 00:00:00' AND created_at < '2016-01-01 00:00:00') THEN 1 WHEN (created_at >= '2016-01-01 00:00:00' AND created_at < '2017-01-01 00:00:00') THEN 2 WHEN (created_at >= '2017-01-01 00:00:00' AND created_at < '2018-01-01 00:00:00') THEN 3 END AS group, COUNT(id) AS cnt FROM post GROUP BY 1;

еще можно так

Страница 16 из 142