LINUX.ORG.RU
ФорумAdmin

mysql перестал работать и выдает access denied

 ,


0

1

Привет всем, работал скуль на убунте, вдруг перестал отдавать данные, и при проверке статуса пишет такое:

Nov 21 19:33:39 ip-xxxxxxx mariadbd[243254]: 2023-11-21 19:33:39 9 [Warning] Access denied for user 'root'@'localhost' (using password: NO)
Nov 21 20:17:57 ip-xxxxxxx mariadbd[243254]: 2023-11-21 20:17:57 5 [Warning] Aborted connection 5 to db: 'rw_komnatnye_cvety' user: 'adm_kom_cv' host: 'localhost' (Got an error reading communication packe>
Nov 22 04:09:26 ip-xxxxxxx mariadbd[243254]: 2023-11-22  4:09:26 13 [Warning] Aborted connection 13 to db: 'unconnected' user: 'root' host: 'localhost' (Got timeout reading communication packets)
Nov 22 04:27:46 ip-xxxxxxx mariadbd[243254]: 2023-11-22  4:27:46 15 [Warning] Aborted connection 15 to db: 'rw_komnatnye_cvety' user: 'adm_kom_cv' host: 'localhost' (Got timeout reading communication pack>
Nov 22 08:10:27 ip-xxxxxxx mariadbd[243254]: 2023-11-22  8:10:27 18 [Warning] Aborted connection 18 to db: 'rw_komnatnye_cvety' user: 'adm_kom_cv' host: 'localhost' (Got an error reading communication pac>
Nov 22 09:31:21 ip-xxxxxxx mariadbd[243254]: 2023-11-22  9:31:21 20 [Warning] Access denied for user 'root'@'localhost' (using password: NO)
Nov 22 09:31:30 ip-xxxxxxx mariadbd[243254]: 2023-11-22  9:31:30 21 [Warning] Access denied for user 'root'@'localhost' (using password: YES)
Nov 22 11:52:03 ip-xxxxxxx mariadbd[243254]: 2023-11-22 11:52:03 23 [Warning] Access denied for user 'root'@'localhost' (using password: NO)
Nov 22 11:55:45 ip-xxxxxxx mariadbd[243254]: 2023-11-22 11:55:45 25 [Warning] Access denied for user 'root'@'localhost' (using password: NO)
Nov 22 12:09:05 ip-xxxxxxxx mariadbd[243254]: 2023-11-22 12:09:05 30 [Warning] Access denied for user 'root'@'localhost' (using password: NO)

Если же заходить напрямую в mysql заходит без проблем и под рутом и под пользователем, в чем глюк не пойму…


Ответ на: комментарий от slowpony

на прямую всмысле ‘mysql -u root -p’ в терминале, а глюк когда node js обращается через прокладку mysql2 к базе приложение возвращает пустой массив вместо данных, но проблема не в данных а в чем то другом, не могу понять в чем, при команде ‘systemctl status mysql пишет вот то что в первом посте писал’

art_pr
() автор топика

работал скуль на убунте, вдруг перестал отдавать данные

кто-то лазил ручками в код.

в чем глюк не пойму…

в java-скриптизерах.

Если node.js подключается к БД без ошибок и потом возвращает пустые данные, то ошибка скорее всего где-то в коде. Например, написали async, но забыли написать await.

А предупреждение вида Aborted connection означает ECONNABORTED exception, т.е. нода выполнила res.end() не дождавшись не то что ответа от сервера, а вообще отправки данных. Опять же это кривой код.

Obezyan
()
Последнее исправление: Obezyan (всего исправлений: 1)
Ответ на: комментарий от Obezyan

позволю не согласится, хотя доводы у вас мудрые, локально код работает и нода отдает все, переношу на сервер там не работает(но работало, пользователи стали добавлять строки в базу и все посыпалось), либо проблема с nginx либо с mysql либо с правами к папкам, фиг его знает перекопал все что мог…но по скулю мне кажется он раньше не ругался на access denied…или у него эта ошибка вылазиет при любой ошибке)?

art_pr
() автор топика
Последнее исправление: art_pr (всего исправлений: 1)
Ответ на: комментарий от art_pr

локально код работает и нода отдает все, переношу на сервер там не работает

Скорее всего локально нода успевает отработать и без await. Т.е. все же неплохо было бы проверить были ли какие-то изменения в коде в месте отправки запроса и ожидания ответа либо просто убедиться что async/await указаны в нужных местах.

Access denied for user 'root'@'localhost' (using password: NO) - похоже что вы пытаетесь зайти с пустым паролем туда где он есть или туда где еще не настроены привилегии. Стоит проверить таблицу user в базе mysql, какие там строки какие привилегии разрешают.

Obezyan
()
Ответ на: комментарий от Obezyan

ну я конечно на всякий перепроверил код:

    async getPlants() {
      try {
        const response = await axios.get("/plants");
        this.cards = response.data;
        //        меняем путь к картинке
        this.cards.forEach((c) => {
          c.photo = this.$BASE_URL + c.photo;
        });
      } catch (err) {
        console.log(err);
      }
    }

вроде дожидаемся ответа. а по root смотрю, в терминале как то ужасно отображается, сейчас чем нибудь другим посмотрю, это же база mysql?

art_pr
() автор топика
Последнее исправление: art_pr (всего исправлений: 2)
Ответ на: комментарий от Obezyan

на ноде роутер ловит ‘router.get(«/api/plants», showPlants);’ контроллер -> модель в модели запрос к скулю:

module.exports.getPlants = (result) => {
  const where = "";
  db.query("SELECT * FROM plants WHERE archived = 0", (err, results) => {
    if (err) {
      console.log(err);
      result(err, null);
    } else {
      result(null, results);
    }
  });
};
art_pr
() автор топика
Ответ на: комментарий от art_pr

таблица db пустая

Эта таблица как раз отвечает за привилегии юзеров на уровне баз данных. После:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
FLUSH PRIVILEGES;

в ней что-нибудь появляется? Если да, то необходимо настроить права остальным юзерам также (только не GRANT ALL, а необходимые).

Obezyan
()
Ответ на: комментарий от Obezyan

неа

MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'; FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.001 sec)

в db 0 записей, может таблица повредилась?

art_pr
() автор топика
Последнее исправление: art_pr (всего исправлений: 1)
Ответ на: комментарий от art_pr

может таблица повредилась?

или кто-то работая от рута случайно ее очистил. Если есть mysql локально, то можете посмотреть как заполнена таблица по колонкам и заполнить по аналогии для рута, потом для юзеров которые используются. Должно помочь.

Только вы это, начните уже бекапы делать что ли. Сейчас восстановили бы таблицу из бекапа и все.

Obezyan
()
Ответ на: комментарий от Obezyan

у меня локально то есть база, подозреваю что базу сломал mysql workbench я с него подключался на сервак и менял структуру таблиц, и видимо он затер что то…больше им пользоваться не буду для удаленки!

art_pr
() автор топика