Задать вопрос
  • Как я могу ограничить вход в эту учетную запись всем кроме системы сервера?

    @Akina
    как я могу сделать так чтобы такого не было?
    А почему у учётной записи нет пароля?
  • User не видит базу данных?

    @Akina
    GRANT ALL PRIVILEGES ON db_name.db TO 'user'@'%';

    В приведённом коде db - это таблица в базе данных db_name. И даже если такая таблица там имеется, права на таблицу никаких прав на саму БД пользователю не дают.

    потом создал юзера такого же для localhost,

    Лучше так не делать. Вот попробуйте найти в документации, какая из двух учёток будет использована при локальной аутентификации - ведь подходят-то обе... и если не найдёте - можете смело считать, что будет выбрана одна из двух от фонаря. И если у них привилегии совпадают - то нафига нужна частная? а если не совпадают - можете нарваться на то, что в очередном сеансе у юзера вдруг почему-то не окажется привилегий, которые вроде бы были "вот только что".
  • User не видит базу данных?

    @Akina
    Денис, Пожалуйста, воспроизведите все команды по созданию пользователя и назначению ему привилегий. Имя пользователя и пароль (только их!) можете заменить на new_username и new_password соответственно.

    Также после того, как пользователь подключился к серверу, выполните запрос:
    SELECT CURRENT_USER, USER();
    и покажите результат вывода.

    Дополнительно - укажите IP-адреса сервера и клиента, а также проверьте, допускает ли сервер внешние подключения с адреса клиента.
  • User не видит базу данных?

    @Akina
    он ее все равно не видит

    Вот что означает эта фраза? БД - это, знаете ли, не папка в эксплорере и не компьютер соседа в сетевом окружении, чтобы её "видеть".

    Новый юзер подключиться к серверу через CLI - может?
    Если нет - какие сообщения об ошибках выводятся?
    Если может - то что возвращается в ответ на команду USE new_database_name?

    потом добавил даже WITH GRANT OPTION

    Зачем? этот пользователь будет давать права на эту БД и её объекты другим пользователям?
  • Как сделать поиск по разным таблицам с разными полями?

    @Akina
    Page-Audit.ru, от комментария есть толк, если он грамотно написан. А вот от алиаса в подзапросе я лично никакого толка не наблюдаю. Если уточнить аналогию, то алиасы в подзапросе - это комментарий во втором цикле, практически полностью дублирующем предыдущий (в смысле и цикл дублируется, и комментарий к нему тоже дубль). От такого комментария толку даже меньше, чем ноль - ведь надо затратить время и умственные усилия, чтобы и прочитать, и понять, что ничего нового из него не извлечь.

    Нет, если Вы видите смысл - хорошо. Но я обычно воспринимаю алиасы в UNION-подзапросах как издержки копипаста.
  • Как сделать поиск по разным таблицам с разными полями?

    @Akina
    А зачем алиасы во втором и прочих подзапросах? лишняя писанина. Сервер всё одно их отправит в игнор...
  • Как взять следующую запись в БД после определенной?

    @Akina
    Я надеюсь вы поняли этот бред

    Пока что мы только поняли (вернее, мы это знаем), что это бред.

    В любой СУБД - до тех пор, пока чётко и однозначно не определена сортировка, которая обеспечивает уникальность каждой записи по выражению сортировки, понятий первый-последний-после-перед-раньше-позже-следующий-предыдущий и т.п в принципе не существует.
  • Как загрузить файлы на сервак сайта и вывести в БД?

    @Akina
    MySQL-то тут каким боком? Ему дадут адрес ссылки - он сохранит, как и любую другу текстовую строку. Когда попросят - он её вернёт.

    А всё, связанное с формами и файлами фотографий в файловой системе - это забота PHP. Так что тег MySQL тут явно не по делу.
  • Как вывести детей в рекурсии?

    @Akina
    10.3.17 - версия МySQL

    Мне жаль Вас огорчать, но такой версии MySQLне существует.
  • Как вывести детей в рекурсии?

    @Akina
    Для начала - укажите ТОЧНУЮ версию MySQL.

    Затем - выложите CREATE TABLE для всех используемых таблиц, пример данных (в виде INSERT INTO, можно вменяемо обфуськать, 3-5-10 записей на таблицу) и требуемый результат для показанных данных (а также, возможно, неких начальных критериев отбора). Ибо заниматься вот этой ерундой - по одной записи тащить данные, организуя итерацию в клиентском коде, а потом сшивать полученные данные, - можно долго, но всё равно оно будет малоуспешно.
  • Best practices при расчете периодических/повторяющихся событий?

    @Akina
    Vindicar, проблема в том, что по такой методике на каждый новый чих надо стряпать свой код. Что очевидно неразумно.

    А разовые переносы вообще делаются через отдельное расписание. Т.е. по факту они добавляют в расписание ещё два правила, связанных с основным - отмена существующих назначений и добавление одноразового назначения, оба в рамках ограниченного периода, и как связанные - с бОльшим приоритетом.
  • Best practices при расчете периодических/повторяющихся событий?

    @Akina
    Vindicar,
    При проверке конкретной даты, ищем периоды, для которых искомая дата попадает в интервал от A до B, а день недели совпадает с искомым. После этого - только проверить чередование недель (если это вообще требуется).

    Угу. Только всё с точностью до наоборот. Сначала генерим все даты нужного периода, а потом отбрасываем те, что не соответствуют.

    SQL работает с множествами, а не с потоками. Итерации и переборы - это не к нему.
  • Best practices при расчете периодических/повторяющихся событий?

    @Akina
    Какая база данных лучше всего подходит для хранения и расчета?
    Да практически любая.
    Должно ли это вычисляться на стороне базы данных или лучше сделать выборку и вычислить на стороне бэкенда (ужас при большом количестве клиентов)?
    С данными работает сервер баз данных. Всё, точка. Исключения - есть, не даже сказать что они редкие, но не на этом уровне.
    Программное обеспечение должно вычислить, какие клиенты будут обслуживаться в определенную дату в будущем.
    ...
    Должен ли это быть предварительно рассчитано и как это сделать на неопределенный период времени?
    Должна существовать определённая разумность. Да, можно рассчитать на сто лет вперёд - но зачем? это даже на экране не поместится, да и если бы поместилось - оно просто не воспримется. А расчёт на вменяемый период - это достаточно легко и быстро.
  • Почему не отрабатывает запрос?

    @Akina
    cp varchar тоже число ток такое 55.1
    Оно должно сортироваться как строка или как число? если второе, то ORDER BY tf ASC, cp + 0 ASC. И не дай бог попадётся что-то нечисловое...
  • В чём может быть причина мистической подмены доменов?

    @Akina
    DNS - по имени выдает адрес.

    Что, это всё, что Вы про DNS знаете? тогда озаботьтесь изучением всего того, что этот сервис умеет делать на самом деле.
  • Как ускорить выборку ( freeing items, cleaning up) из InnoDB по primary key?

    @Akina
    Антон В.,
    Так всё зависит от того, что процессу нужно загрузить для исполнения и потом восстановить после исполнения. Если время на эти операции ненормально велико по сравнению с другими запросами - да, есть повод о переосмысливании. А если это характерный на текущем сервере уровень - то надо думать о тюнинге системы, а не запроса.

    В любом случае подумайте хотя бы для начала - вот правда нужны ВСЕ поля из этой таблицы, а?
  • Как ускорить выборку ( freeing items, cleaning up) из InnoDB по primary key?

    @Akina
    из которых 1ms - это freeing items и cleaning up

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

    MySQL 8.0 Reference Manual / ... / General Thr...
  • В чём может быть причина мистической подмены доменов?

    @Akina
    В качестве дурной гипотезы.

    Приложение на самом деле обращается к DNS за разрешением IP-адреса 127.0.0.1. Ну фиг знает зачем ему это надо - может, так напрограммировано, а может оно разрешило имя в адрес и получает зачем-то все имена по этому только что разрешённому адресу... а в DNS-кэше на этом адресе чего только нету. Вот он и выдаёт что-то из свеженького.

    Ты уж поснифь весь DNS-трафик на станции, а не только логи почитай. Может, какие закономерности-то и вылезут.