Задавайте вопросы, мы ответим
Вы не зашли.
Есть работающий огрызки от серевера 3.23.46-max-debug т.е. нет родного mysqldamp от этой версии. Пароль root утерян. "Срубаю" старый пароль (везде эта процедура почему-то называется "восстановлением забытого" ха-ха!) Беру mysqldamp от версии 5.**.** и пишу:
c:\...\mysqldamp --opt -u root -p(новый пасс) (имя базы) > (имя файла)
а он мне в ответ:
Coldn't execute '*!40100 SET @@SQL_MODE='' */': Query was empty (1065)
Оно, могет, не красиво дампить сервер 3.** с помощью скипта от 5.** Или тут другая проблема?
Обращаюсь ко всем, подайте пож. дистрибутив 3.23.46-max-debag для WinXP !!
Ходил на mysql.com там всё стало так красиво,...чувствуется скоро Oracl покажет всем..., но в архивах только описания!
Неактивен
А mysqldump --compatible=mysql323 не пробовали? Кажется, это проще.
С официального сайта и зеркал и правда исчезло. Гугл выдает, например,
http://www.mysql.ru/download/
Неактивен
Нет, теперь пишет:
Coldn't execute '*!40100 SET @@SQL_MODE='MYSQL323' */': Query was empty (1065)
и файлик создаёт с желаемым именем, но он пустой!
Неактивен
Ых, не то
Жаль, похоже, что не получится. А доступ к файликам есть? Может, просто
погасить тот сервер, скопировать файлики бинарно, и обновить на пятерке?
Ну или действительно поставить старый dump...
Неактивен
Честно говоря — не понял, что Вас не устраивает. Вы взяли бинарно старые базы
и запустили их под пятеркой. По хорошему, над ними теперь неплохо бы выполнить
mysql_upgrade (он добавит новые колонки в таблички mysql.* и обновит формат
хранения данных). Единственное «но»: нужно быть уверенным, что в разделе
[mysqld] прописан default_character_set = кодировке символов в базе, иначе потом
могут быть большие проблемы с кодировками.
Насколько я понял, у Вас всё завелось и работает, чего же ждать боле?
Неактивен
Бинарно — это минуя текстовый дамп
Если остановить оба сервера, целиком скопировать каталог data, проставить
права доступа пользователю, под которым запускается новый сервер, и
запустить его, и сделать mysql_upgrade.
После этого у Вас должен получиться рабочий сервер — такой же, как был
3.23, но пятерка. Один минус — вы не знаете от него пароля. Пароль можно
сделать так, как написано в http://webew.ru/articles/2104.webew (т.е. запустить
сервер со skip-grant-tables и сделать flush privileges и
grant all on *.* to specialuser@localhost with grant option). Тогда у Вас будет
новый пользователь specialuser, который сможет раздавать гранты, и при этом
у Вас останутся старые пользователи и данные — в том виде, в котором они
были в 3.23.
Неактивен
В чем осталась проблема то?
Неактивен
Да, вобщем-то, проблема у всех нас одна - ни чёрта не знаем, и мучаем людей!
И краткость - сестра не моего таланта! Попробую ещё раз:
1)Есть обрывки от сервера 2.23.46-max-debag и клиент на С++
У меня нет пользователя, именно, от которого запускается mysqld. У user-a 'admin' в системной базе всй запрещено! Клиент конектется по своему зашифрованному паролю.
------------------------------------------------------------------------------------------------
# my.cnf
# Конфигурационный файл СУБД MySQL.
#
[client]
user=admin
password=
character-sets-dir=c:/sql/server/share/charsets
[mysqld]
port=3306
skip-locking
skip-innodb
default-character-set=cp1251
set-variable = key_buffer=16M
set-variable = max_allowed_packet=1M
set-variable = thread_stack=128K
set-variable = flush_time=1800
basedir = c:/sql/server/
datadir = c:/sql/server/data/
#log
#log-update
-----------------------------------------------
и два бата:
----------------------------------------------
@echo off
rem Сценарий запуска СУБД MySQL
echo MySQL Server is starting on %COMPUTERNAME%.
echo Hint: To stop DB server, please, run stop.bat
c:\sql\server\bin\mysqld --defaults-file=c:\sql\server\my.ini
--------------------------------------------------------------------------
@echo off
rem Сценарий остановки СУБД MySQL
echo MySQL Server is stopping.
c:\sql\server\bin\mysqladmin --defaults-file=c:\sql\server\my.ini shutdown
pause
------------------------------------------------------------------------------------------------------
2) Ставлвлю новый полный дистрибутив 3.23.58, переписываю в нём от старого сервера: my.ini, stasrt.bat, stop.bat и систмную базу 'mysql' .
3) Конектюсь клиентом на С++ и прошу сделать, встроенными в клиент средствами, новую базу с именем хххх. Скрипт прилагаю. Не выходит. Перехватываю сниффером пакеты по сети, вижу:
-клиент:DROP DATABASE IF EXISTS xxxx
-sql: (видимо) -NO (не читаю я свободно HEX)
-клиент:CREATE DATABASE хххх
-sql:(видимо) -o'k
-клиент USE хххх
-sql:(видимо) -o'k
-клиент: CREAT TABLE alts(...............
--------------------------------- далее всё видимо из скрипта, но не проверял, много там!
sql: в следующем пакете - Invalid default value for 'Pay Type' - бамс и пустая папка с именем хххх
В скрипте там начинаются русские буквы. Откуда Invalid value, если я переписал "бинарно" старую системную базу mysql, с которой эта функция работала на старой версии MySQL;
Неактивен
А почему Вам не нравится копировать бинарно *все* базы данных?
Чтобы избежать ошибок попробуйте во всех вхождениях PayType в скрипте
убрать кусок с default, т.е. заменить как-то так:
PayType enum('а/м','бнгбпюр','йюяяю','опнхгбндярбн','═══') NOT NULL default 'а/м',
должно стать
PayType enum('а/м','бнгбпюр','йюяяю','опнхгбндярбн','═══') NOT NULL,
Слова «бнгбпюр» — в странной кодировке, возможно, ее тоже стоит преобразовать.
Неактивен
Дык! Не помогло!
По сценарию, клиентская часть сама создаёт пользовательские базы и я их не администрирую.
В системной базе только два пользавателя: root, который я срубил, и второй -seperusr, пароль которого передаётся в зашифрованном виде (каждый раз новый). По нему конектется клиентская часть.
У Вас видно тоже проблема с кодировкой. Это Юникод (наверно!)
выглядит в Win-блокноте так:
PayType enum('Б/Н','ВОЗВРАТ','КАССА','ПРОИЗВОДСТВО',' ') NOT NULL default 'Б/Н',
Новый сервер возвращает:
Error Code: 1067
PayLoad: Invalid default value for 'PayType'
Со старым mysqld всё катилось!
Неактивен
Ну, тем не менее, Ваша проблема должна решиться удалением DEFAULT
Неактивен
Ура! всё заработало! Убрал default, прошёл 3.**, 4.0, 4.1, а 5.0 споткнулась на
Condition varchar(24) default NULL,
Hidden tinyint(1) NOT NULL default '0', в момент создания таблиц CREATE TABLE materials и вернула:
You have an error in your SQL syntax; Check the manual that corr.......бла-бла... at line 1.
Отредактированно proot (17.02.2010 23:12:52)
Неактивен
Ненене, Дэвид Блейн!
На форуме все обсуждения бесплатные, платная только внефорумная поддержка.
А ошибку если еще до конца напишете — то могу попробовать угадать, где
же она есть
Неактивен
Ну, мимо раздела "услуги" мне по-любому не проехать. Но надо подготовиться!
"пятёрку" бросим, оставим на внефорум.
Следующая проблемка в том, что:
клиентская часть имеет "чекбокс" - ШИФРОВАНИЕ. Ставим там галочку, то нет соединения с сервером.
Последняя фраза програмера звучала так: "надо на гейте по шаманить". Где то в внутри HEX кода DLL я видел много фраз относяшихся к Open SSL.
Как включить шифрование на сервере? Это относиться к MySQL или к системе?
Вот!
Неактивен
В MySQL можно включить шифрование трафика с использованием OpenSSL.
Для того, чтобы это заработало, нужно запустить сервер с указанием ключей
для серверного сертификата.
Неактивен
Скажите пожалуйста, а если я не знаю ни чего про ключи, которые прописаны в клиентской части, стоит ли ломать голову с серверной частью? Или они "вдвоём" лезут каждый раз за новыми опенсорсными ключами?
Неактивен