@mysql_ru

Страница 137 из 142
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 прикольная вещь. У тебя какой-то лютый составной там есть?

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
У каждого MySQL сервера свой пароль root
Чтобы делать бекап, Рут не нужен

Twelfth
14.02.2018
16:53:45
Чтобы делать бекап, Рут не нужен
Ну я же делаю бэкап всех БД внутри контейнера сразу (--all-databases)

енот
14.02.2018
16:55:00
но по хорошему https://www.percona.com/blog/2013/10/02/mysql-5-7-multi-source-replication/ и слэйв бэкапить

енот
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;

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