Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / MySQL Новый топик    Ответить
 После переустановки MySQL 5.5 на все логины ответ access denied  [new]
Сибирский Пушистый
Member

Откуда: б.о.м.ж и з
Сообщений: 66
И сервер и софтина установлены на одной машине с Win7 64.
Создаю логин: user1, host1, standard old, password1.
Появляются 2 логина: % с standard old, host1 с standard.
Софт на .NET работающий на этом же хосте в конфиге имеет "user1", "password1".
При попытке установить соединение, ответ: Access denied for user 'user1'@'host1'.
До переустановки всё работало, но установлено было много лет назад и никто не помнит, что сделали, чтобы работало.
Пытался исправлять командой
alter user 'user1'@'host1' identified with mysql_native_password using 'password1'
но она всегда отвечает что ошибка синтаксиса.
Как это можно исправить?
26 май 21, 15:29    [22327521]     Ответить | Цитировать Сообщить модератору
 Re: После переустановки MySQL 5.5 на все логины ответ access denied  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21180
На 5,5 уже документацию фиг найти...

На 5,6 это
CREATE USER 'jeffrey'@'localhost' IDENTIFIED WITH mysql_native_password;
SET old_passwords = 0;
SET PASSWORD FOR 'jeffrey'@'localhost' = PASSWORD('password');

https://dev.mysql.com/doc/refman/5.6/en/create-user.html
26 май 21, 16:33    [22327552]     Ответить | Цитировать Сообщить модератору
 Re: После переустановки MySQL 5.5 на все логины ответ access denied  [new]
Сибирский Пушистый
Member

Откуда: б.о.м.ж и з
Сообщений: 66
Akina,

Прежде чем я это сделаю, хочу уточнить: мне действительно нужно создавать логин на localhost?
Хост не задаётся при соединении через .NET коннектор, а только логин и пароль, а ошибка говорит что пытался соединиться логин @'host1' что есть имя машины.
26 май 21, 16:50    [22327566]     Ответить | Цитировать Сообщить модератору
 Re: После переустановки MySQL 5.5 на все логины ответ access denied  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21180
Хост не задаётся - его определяет MySQL сервер как хост, с коего к нему стучатся.
26 май 21, 16:58    [22327572]     Ответить | Цитировать Сообщить модератору
 Re: После переустановки MySQL 5.5 на все логины ответ access denied  [new]
Сибирский Пушистый
Member

Откуда: б.о.м.ж и з
Сообщений: 66
Akina,

Об этом я и спрашиваю: точно создавать нужно не @'host1'?
26 май 21, 17:00    [22327574]     Ответить | Цитировать Сообщить модератору
 Re: После переустановки MySQL 5.5 на все логины ответ access denied  [new]
Сибирский Пушистый
Member

Откуда: б.о.м.ж и з
Сообщений: 66
Пока итог таков:

только это

SET old_passwords = 0;
SET PASSWORD FOR 'user1'@'host1' = PASSWORD('password');


позволяет залогиниться локально ровно 1 раз. если логиниться с другой машины, то впускает сколько угодно раз. локально, 1 раз и вылет. на 2й раз и дальше опять вылезает первая ошибка.
26 май 21, 19:06    [22327635]     Ответить | Цитировать Сообщить модератору
 Re: После переустановки MySQL 5.5 на все логины ответ access denied  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21180
Для локального подключения надо создавать 'user1'@'localhost' либо 'user1'@'127.0.0.1'.

Если создаётся 'user1'@'host1', то при коннекте (локальном!) MySQL должен запросить в сети WINS-сервер / мастер-браузер на предмет конвертации NetBIOS-имени host1 в адрес (и не факт, что найдётся кому ответить!), в ответ придёт адрес внешнего интерфейса машины, который никак не срастается с тем адресом клиента, который определяется (127.0.0.1) как адрес входящего подключения.

локально, 1 раз и вылет

Что значит "вылет"?

Сообщение было отредактировано: 26 май 21, 19:33
26 май 21, 19:37    [22327649]     Ответить | Цитировать Сообщить модератору
 Re: После переустановки MySQL 5.5 на все логины ответ access denied  [new]
Сибирский Пушистый
Member

Откуда: б.о.м.ж и з
Сообщений: 66
Akina
локально, 1 раз и вылет

Что значит "вылет"?


1 раз соединяется успешно, на 2й раз и далее опять Access denied.
На данный момент у меня заведено:

user1 %
user1 host1
user1 localhost

пока не завёл user1 host1 всегда локально получал Access denied. при этом удалённо всегда подключался и продолжает подключаться даже после того как локально снова выдаётся Access denied.

если удалить user1 host1, перезагрузиться и создать заново, то ещё 1 раз можно подключиться, а дальше Access denied.
26 май 21, 19:57    [22327659]     Ответить | Цитировать Сообщить модератору
 Re: После переустановки MySQL 5.5 на все логины ответ access denied  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21180
Теоретически достаточно одного 'user1'@'%' - этой маске соответствует и локальное, и удалённое подключение. Но, насколько я понимаю, проблема в том, что локально идёт подключение не по IP, а через pipe. Оно не имеет IP-адреса, вот localhost и не стреляет... попробуй в my.ini отключить named pipe.
27 май 21, 07:37    [22327772]     Ответить | Цитировать Сообщить модератору
 Re: После переустановки MySQL 5.5 на все логины ответ access denied  [new]
Сибирский Пушистый
Member

Откуда: б.о.м.ж и з
Сообщений: 66
Akina,

А, так достаточно запретить пайпы, и он заработает по айпи? В этом скорее всего и состоит разница с предыдущей установкой: разрешили разделяемую память и пайпы. Можно ли как-то запретить их на уже установленном сервере?
27 май 21, 14:01    [22327968]     Ответить | Цитировать Сообщить модератору
 Re: После переустановки MySQL 5.5 на все логины ответ access denied  [new]
Сибирский Пушистый
Member

Откуда: б.о.м.ж и з
Сообщений: 66
Сибирский Пушистый,

SHOW GLOBAL VARIABLES LIKE 'named_pipe';


говорит OFF
мне сказали что и пайпы и разделяемую память разрешили при установке, но ни в INI, ни на коммандной строке сервиса про это ничего нет. я в замешательстве.

Сообщение было отредактировано: 27 май 21, 14:11
27 май 21, 14:12    [22327981]     Ответить | Цитировать Сообщить модератору
 Re: После переустановки MySQL 5.5 на все логины ответ access denied  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21180
Проверяйте my.ini (и предварительно убедитесь, что смотрите правильный .ini !).

1) Секция [client] параметр pipe= - должен быть закомментирован
2) Секция [client] параметр socket= - должен быть закомментирован
3) Секция [mysqld] параметр enable-named-pipe= - должен быть закомментирован
4) Секция [mysqld] параметр socket= - должен быть закомментирован

Соответственно в командной строке сервиса/демона не должно быть ключей из п.п. 3 и 4.

Сообщение было отредактировано: 27 май 21, 15:10
27 май 21, 15:18    [22328047]     Ответить | Цитировать Сообщить модератору
 Re: После переустановки MySQL 5.5 на все логины ответ access denied  [new]
Сибирский Пушистый
Member

Откуда: б.о.м.ж и з
Сообщений: 66
Akina,

в коммандной строке только указание на ини.
my.ini из коммандной строки запущенного сервиса не содержит ни пайп, ни сокет.
там только порт 3306 и всякие буферы итп.
27 май 21, 15:43    [22328074]     Ответить | Цитировать Сообщить модератору
 Re: После переустановки MySQL 5.5 на все логины ответ access denied  [new]
Alex_Ustinov
Member

Откуда: Nickel
Сообщений: 3799
ошибка какая в *.err?
это где то в DB/data
27 май 21, 20:14    [22328196]     Ответить | Цитировать Сообщить модератору
 Re: После переустановки MySQL 5.5 на все логины ответ access denied  [new]
Сибирский Пушистый
Member

Откуда: б.о.м.ж и з
Сообщений: 66
Alex_Ustinov
ошибка какая в *.err?
это где то в DB/data


Да, это типа ./data/HOSTNAME.err

Ошибок нет, но много вот такого, про каждую учётку:

[Warning] 'user' entry 'root@localhost' has both a password and an authentication plugin specified. The password will be ignored.
[Warning] 'user' entry '@localhost' has both a password and an authentication plugin specified. The password will be ignored.
[Warning] 'user' entry '@%' has both a password and an authentication plugin specified. The password will be ignored.
[Warning] 'user' entry 'root@%' has both a password and an authentication plugin specified. The password will be ignored.
итд.

Сообщение было отредактировано: 31 май 21, 04:48
31 май 21, 04:57    [22329081]     Ответить | Цитировать Сообщить модератору
 Re: После переустановки MySQL 5.5 на все логины ответ access denied  [new]
Сибирский Пушистый
Member

Откуда: б.о.м.ж и з
Сообщений: 66
Сибирский Пушистый,

Алекс, огромное спасибо за точное указание на проблему! Вот это помогло:

UPDATE mysql.user SET plugin = '' WHERE plugin = 'mysql_native_password';
FLUSH PRIVILEGES;


как только удалил все логины кроме %, всё срослось!
31 май 21, 05:12    [22329082]     Ответить | Цитировать Сообщить модератору
Все форумы / MySQL Ответить