Andrey
14.02.2018
11:19:02
да, понял, спасибо
Najmu
14.02.2018
15:24:39
Приветствую, друзья!
Подскажите как удалить определенное вхождение в строках таблицы?
Anton
14.02.2018
15:26:14
REPLACE (стобец,'вхождение','')
Google
Najmu
14.02.2018
15:27:53
Спасибо!
еще вопрос нужно %вхождение% нужно обрамлять?
Anton
14.02.2018
15:41:15
советую почитать справку по функе перед применением, а то наворотишь....
Не надо
Функа просто заменяет в первом параметре все вхождения второго на третий
Ad.x ??
14.02.2018
15:47:12
есть способы ограничить проход по всему датасету, если сортировка производится по джойн таблице?
EXPLAIN SELECT `v`.*, `vs`.`category_id`,`vs`.`image_id`, MAX(`vs`.`ctr`) AS `ctr`
FROM `videos` AS `v`
LEFT JOIN `videos_stats` AS `vs` ON `v`.`video_id`=`vs`.`video_id` AND `vs`.`best_image`=1
WHERE `v`.`published_at` <= NOW() AND `v`.`status`=10
GROUP BY `v`.`video_id`
ORDER BY `ctr` DESC
Anton
14.02.2018
15:51:29
ну тебе явно индекс по статусу не помешает, если он селективный
type=index прикольная вещь. У тебя какой-то лютый составной там есть?
Ad.x ??
14.02.2018
15:54:11
Anton
14.02.2018
15:56:09
он там есть
почему-то не берётся. Может он не первый в списке полей? или селективность низкая
Ad.x ??
14.02.2018
15:56:27
но всегда почему-то выбирает праймори. Из-за джойна походу
Google
Ad.x ??
14.02.2018
15:56:48
изменил порядок. но все равно ничего не поменялось
индекс есть
Anton
14.02.2018
16:00:07
при сравнении "меньше" он не берётся
можешь переписать на BETWEEN, иногда помогает
но в большинстве случаев инт селективнее и возможно стоит переделать индекс
Ad.x ??
14.02.2018
16:01:18
все равно выберутся все
т.к. попадут под условие
Anton
14.02.2018
16:06:36
у тебя все, что "до сегодня" со status`=10?
Ad.x ??
14.02.2018
16:10:05
даже без джойна не подхватывает индекс... из-за NOW()?
Anton
14.02.2018
16:11:00
из-за "<"
если есть изначальная дата, то можно попробовать переписать на between
может взять индекс. Но будет ли это намного быстрее или не особо - без понимания данных несказать.
Ad.x ??
14.02.2018
16:13:43
publushed_at datetime формат
Anton
14.02.2018
16:15:59
between на нём прекрасно работает
Ad.x ??
14.02.2018
16:30:16
Google
Ad.x ??
14.02.2018
16:30:24
неа, не берет индекс
пробовал в таймштамп перевести, один фиг, такая же борода
Twelfth
14.02.2018
16:44:19
Здравствуйте
Подскажите пожалуйста, можно ли дампить БД без ввода пароля?
енот
14.02.2018
16:45:04
ты не знаешь пароль иили хочешь автоматизировать бэкап скриптом?
Twelfth
14.02.2018
16:45:20
Хочу автоматизировать бэкап скриптом.
И не знаю пароль
Зато есть root доступ к самому серверу
енот
14.02.2018
16:46:05
создай отдельного юзера без права записи но с правами селект, лок и что там ещё надо для бэкапа
Twelfth
14.02.2018
16:46:44
Задача такова:
имея пароль от root полььзователя на сервере и не зная пароль от какого либо юзера MySQL создать дамп БД
енот
14.02.2018
16:47:40
У тебя рут-доступ, какие у тебя вообще могут быть проблемы?
https://gist.github.com/tleish/1c6e788c84f59200446b
Twelfth
14.02.2018
16:49:03
Можно копировать папку /var/lib/mysql/{ИМЯ_БД}
енот
14.02.2018
16:49:40
весьма дебильный способ, имхо
Twelfth
14.02.2018
16:50:26
Поясню. У меня есть куча LXD контейнеров. В каждом контейнере у меня запущен MySQL сервер
енот
14.02.2018
16:50:27
рекомендую поднять виртуалку и сэмитировать предложенный вами способ
Twelfth
14.02.2018
16:50:44
У каждого MySQL сервера свой пароль root
И я пытаюсь с хоста сделать бэкап БД внутри контейнера
Но учитывая, что root пароль во всех контейнерах разный, а контейнеров 100 штук, то тогда придётся где-то хранить root пароли
А это небезопасно
Google
енот
14.02.2018
16:52:29
сделайте юзера не-рутового
с заданным хостом и доступом без пароля
с этого конкретного хоста бэкап делайте
без пароля
Dmitry
14.02.2018
16:52:51
Twelfth
14.02.2018
16:53:45
Dmitry
14.02.2018
16:54:37
енот
14.02.2018
16:55:00
но по хорошему
https://www.percona.com/blog/2013/10/02/mysql-5-7-multi-source-replication/
и слэйв бэкапить
Dmitry
14.02.2018
16:55:12
енот
14.02.2018
16:55:15
не?
но там же всё лочится
могут начаться глюки на больших базах
Dmitry
14.02.2018
16:55:46
С сотней сорсов будет больно
енот
14.02.2018
16:56:11
ну можно сделать на каждые десять сорсов свой LXD-контейнер)
Dmitry
14.02.2018
16:56:13
Я с 8 каналами работал, это пиздец
Alexey
14.02.2018
19:07:45
т.е. определённый локальный пользователь в каждом контейнере может создавать бэкапы без пароля
а через cron можно получить контейнеры, которые бэкапят сами себя
Andrey
14.02.2018
21:43:27
привет
я front-end разработчик, в mysql слаб. подскажите пожалуйста
Google
Andrey
14.02.2018
21:44:14
Nick
14.02.2018
21:44:47
show keys from products;
покажи ключи
потом дропни
Andrey
14.02.2018
21:44:57
DROP INDEX index_name ON tbl_name пробовал - UNI осталось
там был ключ products_name_unique
Nick
14.02.2018
21:45:50
дропнул?
Andrey
14.02.2018
21:45:56
я сделал DROP INDEX products_name_unique ON products
Nick
14.02.2018
21:46:08
ну?
Andrey
14.02.2018
21:46:13
Nick
14.02.2018
21:46:16
с чего ты взял что он не убрался?
Andrey
14.02.2018
21:46:22
UNI слово в графе KEY присутствует
Nick
14.02.2018
21:46:31
ааа
Andrey
14.02.2018
21:46:34
подумал эт не хорошо, и дропнул я что то не то :D
Nick
14.02.2018
21:47:20
alter table products drop index name;
drop index name on products;