Jump to content

Помогите обновить динозавра 2.3.6

Featured Replies

Posted
comment_75007

Доброго впемени суток!

Не могу одновить динозавра 2.3.6 

Базу вроде в утф переделал говорит такое

 

mySQL query error: SELECT * FROM ibf_groups

SQL error: Table 'svii.ibf_groups' doesn't exist
SQL error code: 1146
Date: Sunday 30th November 2014 06:23:13 PM


 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Date: Sun, 30 Nov 2014 18:23:13 +0000
 Error: 1146 - Table 'svii.ibf_groups' doesn't exist
 IP Address: 172.17.145.171 - /forum3/admin/upgrade/
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 mySQL query error: SELECT * FROM ibf_groups
 .--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.

 

База от 2.3.6 в утф-8 пытаюсь обновить на 3,4,7

comment_75042
CREATE TABLE groups (
  g_id int(3) unsigned NOT NULL auto_increment,
  g_view_board tinyint(1) default NULL,
  g_mem_info tinyint(1) default NULL,
  g_other_topics tinyint(1) default NULL,
  g_use_search tinyint(1) default NULL,
  g_edit_profile tinyint(1) default NULL,
  g_post_new_topics tinyint(1) default NULL,
  g_reply_own_topics tinyint(1) default NULL,
  g_reply_other_topics tinyint(1) default NULL,
  g_edit_posts tinyint(1) default NULL,
  g_delete_own_posts tinyint(1) default NULL,
  g_open_close_posts tinyint(1) default NULL,
  g_delete_own_topics tinyint(1) default NULL,
  g_post_polls tinyint(1) default NULL,
  g_vote_polls tinyint(1) default NULL,
  g_use_pm tinyint(1) default 0,
  g_is_supmod tinyint(1) default NULL,
  g_access_cp tinyint(1) default NULL,
  g_title varchar(32) NOT NULL default '',
  g_append_edit tinyint(1) default NULL,
  g_access_offline tinyint(1) default NULL,
  g_avoid_q tinyint(1) default NULL,
  g_avoid_flood tinyint(1) default NULL,
  g_icon text,
  g_attach_max bigint(20) default NULL,
  prefix varchar(250) default NULL,
  suffix varchar(250) default NULL,
  g_max_messages int(5) default 50,
  g_max_mass_pm int(5) default 0,
  g_search_flood mediumint(6) default 20,
  g_edit_cutoff int(10) default 0,
  g_promotion varchar(10) default '-1&-1',
  g_hide_from_list tinyint(1) default 0,
  g_post_closed tinyint(1) default 0,
  g_perm_id varchar(255) NOT NULL default '',
  g_photo_max_vars varchar(200) default '100:200:300',
  g_dohtml tinyint(1) NOT NULL default 0,
  g_edit_topic tinyint(1) NOT NULL default 0,
  g_bypass_badwords tinyint(1) NOT NULL default 0,
  g_can_msg_attach tinyint(1) NOT NULL default 0,
  g_attach_per_post int(10) NOT NULL default 0,
  g_topic_rate_setting smallint(2) NOT NULL default 0,
  g_dname_changes int(3) NOT NULL default 0,
  g_dname_date int(5) NOT NULL default 0,
  g_mod_preview tinyint(1) unsigned NOT NULL default 0,
  g_rep_max_positive mediumint(8) unsigned NOT NULL default 0,
  g_rep_max_negative mediumint(8) unsigned NOT NULL default 0,
  g_signature_limits varchar(255) default NULL,
  g_can_add_friends tinyint(1) NOT NULL default 1,
  g_hide_online_list tinyint(1) NOT NULL default 0,
  g_bitoptions int(10) unsigned NOT NULL default 0,
  g_pm_perday smallint(6) NOT NULL default 0,
  g_mod_post_unit int(5) UNSIGNED NOT NULL default 0,
  g_ppd_limit int(5) UNSIGNED NOT NULL default 0,
  g_ppd_unit int(5) UNSIGNED NOT NULL default 0,
  g_displayname_unit int(5) UNSIGNED NOT NULL default 0,
  g_sig_unit int(5) UNSIGNED NOT NULL default 0,
  g_pm_flood_mins INT(5) UNSIGNED NOT NULL default 0,
  g_max_notifications MEDIUMINT NOT NULL DEFAULT 0,
  g_max_bgimg_upload INT(10) NOT NULL default 0,
  PRIMARY KEY  (g_id)
);
  • Author
comment_75044

Всетаки база не перекодировалась!!!!   Стандартным думпером не кодируется такую ошибку выдает     

Подключение к БД `svii`.
Создание файла с резервной копией БД:
 -  svii_2014-12-01_16-36.sql
------------------------------------------------------------
2014.12.01 16:36:27
Возникла ошибка!
Неудается изменить кодировку соединения.
Unknown character set: '% CHARSET %' (256)

:((  

 

Как еще конвертнуть базу???

comment_75045

Всех вернее - стандартными средствами mysql - 

ALTER TABLE ТАБЛИЦА DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci, CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci ;
  • Author
comment_75047

Рассказываю всем!!!!

Мучался три дня!!! Копал весь интернет, пробовал разные способы!

 

Вот что надо для обновления динозавра:

 

1. переделать базу в utf8 таким образом

 

Первое, что нам следует сделать, это дамп базы. Снимать дамп будем не целиком TableDefinitions (TDs)+data, а раздельно. Т.е. в один файл структуру, в другой данные. Это нужно для того, чтобы не позаменять в данных проекта чего лишнего. Если, например, какой-то пользователь писал что-то про cp1251, а может быть еще и TDs-ы цитировал, мы не должны их испортить.

Обратите внимание, что снимать TDs-ы надо с ключем --routines, чтобы не забыть хранимки и --triggers, чтобы триггеры оказались вместе со структурой. А вот дамп данных в свою очередь с ключем --skip-triggers, иначе получите CREATE-ы триггеров в дампе с данными. Впринципе, ничего страшного в нахождении триггеров в дампе с данными нет, но я предпочитаю отделять мух от котлет.
Кроме того, если вы работаете с InnoDB таблицами, вам понадобится добавить ключ --single-transaction при снятии дампа с данными.

mysqldump -uroot -p --routines --triggers --no-data yourdb > db.tds.sql

mysqldump -uroot -p --skip-triggers -n -t --default-character-set=utf8 yourdb > db.data.sql

Итак, у нас 2 дампа, один с TDs-ами, другой с данными. Берем любимый редактор с возможностью bulk-замены (sed, хотя, можете бить камнями, mcedit) и правим TDs-ы. Коллэйшены либо просто убить, либо заменить на utf-ные, затем все cp1251 меняем в utf8.

В простейшем случае вот список замен (именно в этом порядке) для db.tds.sql:
'collate cp1251_bulgarian_ci' => ''
'COLLATE=cp1251_bulgarian_ci' => ''
'cp1251' => 'utf8'

Дальше стоит обратить внимание на тип данных TEXT. Дело в том, что при конвертации из однобайтовой в мультибайтовую кодировку данные у нас распухнут и могут перестать умещаться в старых типах. Самый простой путь решения этой проблемы - заменить в TDs-ах тип данных TEXT на MEDIUMTEXT. Если же у вас исходные данные в  MEDIUMTEXT, проверьте, ну нужно ли увеличить его до LONGTEXT, но это вряд ли.

В деле трансляции данных из одного чарсета в другой распространен метод использования iconv-a и трансляции дампа им. Этот метод подходит, если у нас достаточно небольшой дамп (iconv использует оперативку) и если у нас идеальные данные. В реальном проекте не без помощи спамеров в базу попадает зачастую такой набор байтов, который MySQL не берется разобрать и сохраняет как получится. iconv на этом месте скажет, что с такими данными он работать не будет и ключ //TRANSLIT вам не поможет. Поэтому мы сразу при снятии дампа попросили MySQL по возможности транслировать наш дамп в utf8.
Можно было оставить трансляцию на момент импорта дампа обратно, т.е. мы импортировали бы cp1251 дамп в utf базу и MySQL по уже описанному мной алгоритму сохранил бы все в utf-е.

Ну а дальше самый отчаянный момент:

mysql> DROP DATABASE yourdb;

mysql> CREATE DATABASE yourdb DEFAULT CHARSET utf8;

mysql -uroot -p yourdb < db.tds.sql

mysql -uroot -p yourdb < db.data.sql

Ну вот и все. Теперь у нас честная UTF-8 база.

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

 

Но моя ошибка стоявшая двух дней заключалась в том что я заменял только cp1251, а надо было еще не забыть про latin1 которые так же были в базе у некоторых таблиц!!!!

 

2. Скачать какуюнибудь 3.0.....  версию и обновиться до нее, а потом на более свежую :))

comment_75066

Конвертируйте последовательно версии скриптов IPB - по возрастающей, всё конвертится без проблем.

 

Все свои форумы на 2.3.6 обновил до 3.4.6 летом, без проблем, их было более десяти

Там делов то на 1-2 часа

  • Author
comment_75073

Может тогда подскажете как это решить???  Ато это байда замучала уже на всех дистрибутивах испробовал на одном и том же месте одно и то же!!

 

PHP Warning:  Module 'mcrypt' already loaded in Unknown on line 0
[Tue Dec 02 11:10:32 2014] [notice] mod_fcgid: process 13547 going graceful shutdown, sending SIGTERM
[Tue Dec 02 11:10:38 2014] [notice] mod_fcgid: process /home/svadebnoe/public_html/forum2/admin/upgrade/index.php(13547) exit(communication error), terminat$

 

 

Это в логах апача.

 

 

 

А в браузере 

 

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

 

 

Всегда на этом месте:

 

Invision Power Board 3.2

Добавление приложения: Система....

Добавление приложения: Форумы....

Добавление приложения: Пользователи....

Добавление приложения: Calendar....


  • Продолжение обновления

Edited by Respected

  • Author
comment_75076

[Tue Dec 02 14:58:02 2014] [notice] mod_fcgid: process /home/svadebnoe/public_html/forum2/admin/upgrade/index.php(26982) exit(shutting down), te$
[Tue Dec 02 14:58:03 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/lib/apache2/suexec)
[Tue Dec 02 14:58:03 2014] [notice] Digest: generating secret for digest authentication ...
[Tue Dec 02 14:58:03 2014] [notice] Digest: done
[Tue Dec 02 14:58:03 2014] [notice] Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 PHP/5.2.6-1+lenny16 with Suhosin-Patch mod_ruby/1.2.6 Ruby/1.8.7(2008-$
[Tue Dec 02 14:58:11 2014] [notice] mod_fcgid: call /home/svadebnoe/public_html/forum2/admin/upgrade/index.php with wrapper /home/svadebnoe/fcgi$
[Tue Dec 02 14:58:40 2014] [notice] mod_fcgid: call /home/svadebnoe/public_html/forum/index.php with wrapper /home/svadebnoe/fcgi-bin/php5.fcgi
[Tue Dec 02 14:58:46 2014] [notice] mod_fcgid: process 27532 going graceful shutdown, sending SIGTERM
$n error), terminated by calling exit(), return code: 0
 

 

И это еще

comment_75078

edison, обнови форум на локалхосте, потом залей обратно 

  • Author
comment_75103

Еще бы он ла локалхосте авторизовывался когда заходишь www.xxx.ru/forum/admin/upgrade/

 

Не принимает правильный пароль.

  • Author
comment_75130

$INFO['sql_charset'] = 'utf8';

 

Все так просто оказалось!!! Всего лишь надо было это добавить в старый конфиг!!!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.