Название: Переход с 50.32 на + Отправлено: md5 от 16 Мая 2019, 15:19:19 И так ребят, не знаю у кого как но у меня при переходе на плюсовую версию не работают пароли!
И так по документу from_50.32_to_n_plus.txt делаю переход... В старой бд в таблице users Код: `passwd` tinytext NOT NULL, В + версии Код: ALTER TABLE `users` MODIFY COLUMN passwd VARCHAR(64) NOT NULL; Зайти в л/к можно только указав логин без пароля Только после изменения пароля можно зайти в л/к под логином и паролем Как это вылечить ? Название: Re: Переход с 50.32 на + Отправлено: zeny от 16 Мая 2019, 15:21:04 Подобная ситуация и у нас была. Решали изменением кодировки. На форуме уже обсуждалось, но разработчик внятного ничего не ответил.
Название: Re: Переход с 50.32 на + Отправлено: Cell от 16 Мая 2019, 15:47:33 Если без секса хотите, то удалите в скрипте перехода вот эту строку
Цитировать ALTER TABLE `users` MODIFY COLUMN passwd VARCHAR(64) NOT NULL; Название: Re: Переход с 50.32 на + Отправлено: md5 от 16 Мая 2019, 16:24:52 В том то и дело что оставлял даже так как есть...
Ничего не поменялось Название: Re: Переход с 50.32 на + Отправлено: Cell от 16 Мая 2019, 18:16:46 В том то и дело что оставлял даже так как есть... Короче, я делал так:Ничего не поменялось 1) расшифровывал пароли одним запросом прямо в то же поле 2) делал бэкап базы 3) зашифровывал пароли назад (пусть еще поработают) 4) заливал бэкап в новую базу 5) зашифровывал пароли одним запросом 6) накатывал исправленным (писал выше как) инсталятором исправления в базе. Как-то так. Каждый раз делаешь и каждый раз что-то новенькое выскакивает, зависит от версии мускула по ходу дела. Название: Re: Переход с 50.32 на + Отправлено: Efendy от 17 Мая 2019, 10:42:24 Да, норм вариант сначала расшифровать пароли, сделать бекап, залить куда надо, зашифровать
Название: Re: Переход с 50.32 на + Отправлено: Jovani от 02 Ноября 2020, 12:51:39 Поделитесь пожалуйста запросом
расшифровки паролей одним запросом прямо в то же поле и зашифровки паролей одним запросом. Столкнулся с проблемой когда переношу базу, пропадают пароли, поле passwd имеет Сравнение cp1251_general_ci, а вот все остальное имеет сравнение utf8_general_ci. Получится ли таким спопсобом? Хочу расшифровать столбец passwd. Поменять сравнение на utf8_general_ci. И снова зашифровать. Буду благодарен Название: Re: Переход с 50.32 на + Отправлено: goletsa от 03 Ноября 2020, 14:06:04 Расшифровка
Код: UPDATE users SET passwd=AES_DECRYPT(passwd, 'hardpass'); Код: UPDATE users SET passwd=AES_ENCRYPT(passwd, 'hardpass'); PS: У меня пароли не пропадают почему-то, сейчас тоже с миграцией с 50.32 на ND2.0 мучаюсь. Название: Re: Переход с 50.32 на + Отправлено: Jovani от 22 Ноября 2020, 18:43:05 Расшифровка Код: UPDATE users SET passwd=AES_DECRYPT(passwd, 'hardpass'); Код: UPDATE users SET passwd=AES_ENCRYPT(passwd, 'hardpass'); PS: У меня пароли не пропадают почему-то, сейчас тоже с миграцией с 50.32 на ND2.0 мучаюсь. Warning: #1048 Столбец 'passwd' не может принимать величину NULL Название: Re: Переход с 50.32 на + Отправлено: Efendy от 23 Ноября 2020, 00:53:31 Проверь, что пароли правильно расшифровует:
Код: SELECT AES_DECRYPT(passwd, 'hardpass') FROM users; Название: Re: Переход с 50.32 на + Отправлено: Jovani от 27 Ноября 2020, 09:20:46 У некоторых стоит NULL после расшифровки.
Название: Re: Переход с 50.32 на + Отправлено: goletsa от 27 Ноября 2020, 12:05:55 У некоторых стоит NULL после расшифровки. А в старом биллинге там пароль расшифровывает нормально в вебке?И ключ шифрования вы свой используете? Название: Re: Переход с 50.32 на + Отправлено: Efendy от 28 Ноября 2020, 15:14:05 У некоторых стоит NULL после расшифровки. если не много, то можно вручную потом перенести проблемные пароли. А расшифровать так:Код: UPDATE users SET passwd=IFNULL(AES_DECRYPT(passwd, 'hardpass'), ''); Название: Re: Переход с 50.32 на + Отправлено: Jovani от 30 Ноября 2020, 21:37:48 после засшифровки.
Код: Warning: #1366 Incorrect string value: '\x9Cj|\xA7\xAE\x0B...' for column 'passwd' at row 1 Название: Re: Переход с 50.32 на + Отправлено: goletsa от 07 Декабря 2020, 19:42:23 после засшифровки. Код: Warning: #1366 Incorrect string value: '\x9Cj|\xA7\xAE\x0B...' for column 'passwd' at row 1 Посмотрите в 50.32, возможно там кирилица в паролях, надо убрать. Название: Re: Переход с 50.32 на + Отправлено: Efendy от 08 Декабря 2020, 00:33:35 Да, видно, что бока скорее всего в кириллических паролях. Биллингу пофик на самом деле. Просто mysql разных версий и/или кодировок не хочет корректно их преобразовывать. Если паролей не много, я бы вручную проблемные перенес. Если много, то можно на старом сервере преобразовать пароли и уже тогда экспортировать всю базу в файл.
Название: Re: Переход с 50.32 на + Отправлено: Jovani от 11 Декабря 2020, 08:58:24 А как найти все проблемные? Или исключить их с запроса.
Название: Re: Переход с 50.32 на + Отправлено: Efendy от 12 Декабря 2020, 15:36:17 Попробуй так:
Код: SELECT id, name FROM users WHERE AES_DECRYPT(passwd, 'hardpass') IS NULL; Название: Re: Переход с 50.32 на + Отправлено: Jovani от 22 Декабря 2020, 11:29:37 Спасибо, исправил всех.
Но есть такие что в билинге нет, а вот в базе они присутствуют. Название: Re: Переход с 50.32 на + Отправлено: Efendy от 22 Декабря 2020, 20:28:52 это нормально, это служебные записи
Название: Re: Переход с 50.32 на + Отправлено: goletsa от 12 Января 2021, 20:53:18 Подскажите, при миграции хочу добавить одну из функций от ND+, но не удается.
Код: DROP FUNCTION IF EXISTS strSplit; Код: ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) Отключить логирование не хочется, хочу сделать master-slave рекпликацию в перспективе, а это вроде как требует активные логи. Название: Re: Переход с 50.32 на + Отправлено: Efendy от 13 Января 2021, 01:23:00 Попробуй сначала выполнить:
Код: DELIMITER $$ Код: $$ Название: Re: Переход с 50.32 на + Отправлено: goletsa от 19 Января 2021, 12:42:35 Попробуй сначала выполнить: Код: DELIMITER $$ Код: $$ Такая же ошибка. Код: root@localhost [db]> DROP FUNCTION IF EXISTS strSplit; Относительно работает если явно указать что это DETERMINISTIC например, но я не знаю насколько правильно так делать для этой функции. Код: DROP FUNCTION IF EXISTS strSplit; Ну и функция не то чтобы прямо моя, взята отсюда http://nodeny.com.ua/wiki/index.php/Radius_%D0%B0%D1%82%D1%80%D0%B8%D0%B1%D1%83%D1%82%D1%8B Название: Re: Переход с 50.32 на + Отправлено: Efendy от 20 Января 2021, 00:56:08 Цитировать Подпрограмма считается “deterministic”, если она всегда дает один и тот же результат для одних и тех же входных параметров, и “not deterministic” в противном случае Т.е ты правильно указал DETERMINISTIC |