импорт базы c myql 5.5 в mysql 5.1

Ответить
favorite
Юзер
Юзер
Сообщения: 73
Зарегистрирован: 12 ноя 2010, 13:56

импорт базы c myql 5.5 в mysql 5.1

Сообщение favorite » 11 дек 2014, 09:37

Всем привет. Ребят такая проблема: делаю экспорт базы с phpmyadmin, версия mysql 5.5. Далее делаю импорт на другой сервер, на нем версия mysql 5.1. Импорт проходит успешно, но не могу залогиниться на сайт после импорта базы, ошибка - неправильный логин или пароль. Как оказалось несовпадает md5 сумма, нашел лечение таким способом:

Код: Выделить всё

UPDATE mybase.mdl_user SET password=MD5('Qwerty123') WHERE username='admin';

После этого, авторизация проходит успешно. Теперь вопрос, как можно сделать экспорт с mysql 5.5, чтоб таких проблем не было. Просто серверов несколько, куда база сливается и далее импортируется и не хотелось бы каждый раз заходить на сервера и лечить таким способом

Код: Выделить всё

UPDATE mybase.mdl_user SET password=MD5('Qwerty123') WHERE username='admin';
ЗЫ. При экспорте в phpmyadmin есть пункт "Максимальная совместимость с системой базы данных, или устаревшей версией MySQL:" в списке выбрал mysql 40. Не прокатило
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Re: импорт базы c myql 5.5 в mysql 5.1

Сообщение Raven » 11 дек 2014, 11:40

Какова длина хешей, со старого сервера и соотв. нового?
Я не злопамятный, я просто часто ковыряю логи
favorite
Юзер
Юзер
Сообщения: 73
Зарегистрирован: 12 ноя 2010, 13:56

Re: импорт базы c myql 5.5 в mysql 5.1

Сообщение favorite » 12 дек 2014, 10:54

Raven писал(а):Какова длина хешей, со старого сервера и соотв. нового?
Что странно длина хешей одинакова, символ в символ. Но вот не прокатывает пока не выполнишь

Код: Выделить всё

UPDATE mybase.mdl_user SET password=MD5('Qwerty123') WHERE username='admin';
Решил запихать эту команду в скрипт,

Код: Выделить всё

#!/bin/bash
source /root/scripts/remote_srv.txt

(ssh root@${ip_server[$i]} "mysql -uroot -pmypassword UPDATE mybase.mdl_user SET password=MD5('Qwerty123') WHERE username='admin'")
но ругается:

Код: Выделить всё

sh update.sh 
bash: -c: line 0: syntax error near unexpected token `('
bash: -c: line 0: `mysql -uroot -pmypassword UPDATE mybase.mdl_user SET password=MD5('Qwerty123') WHERE username='admin'' 
Пробывал так:

Код: Выделить всё

#!/bin/bash
source /root/scripts/remote_srv.txt

(ssh root@${ip_server[$i]} "mysql -uroot -pmypassword UPDATE mybase.mdl_user SET password=MD5('Qwerty123') WHERE username='admin')"
таже самая ошибка....
Аватара пользователя
Raven
Бородатый сис
Бородатый сис
Сообщения: 2800
Зарегистрирован: 03 мар 2010, 15:12
ОС: RHEL 8
Откуда: Из серверной

Re: импорт базы c myql 5.5 в mysql 5.1

Сообщение Raven » 12 дек 2014, 12:36

Код: Выделить всё

for i in `cat servers.txt`
do
ssh root@$i "mysql -uroot -pmypassword UPDATE mybase.mdl_user SET password=MD5('Qwerty123') WHERE username='admin'"
done
Так можно попробовать
Я не злопамятный, я просто часто ковыряю логи
Ответить

Вернуться в «MySQL»