-
Постов
1120 -
Зарегистрирован
-
Посещение
-
Победитель дней
18
Активность репутации
-
spoken получил реакцию от Andross в Чем разбить БД?
Имя админа mysql, как правило, root
Да куда хочешь. В домашний каталог, например. Вот в какой каталог залили, туда переходишь командой cd и там выполняешь команду mysql с параметрами.
-
spoken получил реакцию от falkon в Чистка бд
Вот такой запрос поможет оценить что больше всего ест место в БД
select table_name as Name, round((data_length+index_length)/1024/1024,2) as Size, table_rows as Rows from information_schema.tables where table_schema='table_ipb' order by Size desc limit 10; Вместо table_ipb надо вписать имя вашей БД для форума.
Далее чистить подобным
delete FROM ibf_inline_notifications where notify_read=1; commit; optimize table ibf_inline_notifications; truncate ibf_task_logs; commit; optimize table ibf_task_logs; truncate ibf_search_keywords; commit; optimize table ibf_search_keywords; truncate ibf_search_visitors; commit; optimize table ibf_search_visitors; truncate ibf_inline_notifications; commit; optimize table ibf_inline_notifications; -
spoken получил реакцию от falkon в Чистка бд
Есть там еще одна хитрая таблица сессий, она прилично места в БД отъедала. Я для неё поменял тип на таблицу в памяти, то есть она не отъедает место в БД.
Все удаления в БД надо проводить с головой, последствия могут быть печальными. Перед delete и truncate сделайте select, чтобы понимать что именно вы удалите потом.
Вот с моей рабочей БД форума
ibf_posts 268.97 68568 ibf_search_keywords 43.61 48397 ibf_sessions 30.65 103 ibf_inline_notifications 7.82 1906 ibf_skin_cache 6.08 166 ibf_message_posts 5.16 5397 ibf_search_visitors 4.94 16907 ibf_task_logs 4.78 5883 ibf_skin_templates 1.89 857 ibf_core_sys_lang_words 1.81 10873 смело можно чистить ibf_search_keywords, ibf_inline_notifications, ibf_search_visitors, ibf_task_logs более мне чистить нечего, поскольку ibf_sessions живет в памяти, а не в файле таблицы БД на диске.
-
spoken получил реакцию от Respected в Чистка бд
Есть там еще одна хитрая таблица сессий, она прилично места в БД отъедала. Я для неё поменял тип на таблицу в памяти, то есть она не отъедает место в БД.
Все удаления в БД надо проводить с головой, последствия могут быть печальными. Перед delete и truncate сделайте select, чтобы понимать что именно вы удалите потом.
Вот с моей рабочей БД форума
ibf_posts 268.97 68568 ibf_search_keywords 43.61 48397 ibf_sessions 30.65 103 ibf_inline_notifications 7.82 1906 ibf_skin_cache 6.08 166 ibf_message_posts 5.16 5397 ibf_search_visitors 4.94 16907 ibf_task_logs 4.78 5883 ibf_skin_templates 1.89 857 ibf_core_sys_lang_words 1.81 10873 смело можно чистить ibf_search_keywords, ibf_inline_notifications, ibf_search_visitors, ibf_task_logs более мне чистить нечего, поскольку ibf_sessions живет в памяти, а не в файле таблицы БД на диске.
-
spoken получил реакцию от Respected в Чистка бд
Вот такой запрос поможет оценить что больше всего ест место в БД
select table_name as Name, round((data_length+index_length)/1024/1024,2) as Size, table_rows as Rows from information_schema.tables where table_schema='table_ipb' order by Size desc limit 10; Вместо table_ipb надо вписать имя вашей БД для форума.
Далее чистить подобным
delete FROM ibf_inline_notifications where notify_read=1; commit; optimize table ibf_inline_notifications; truncate ibf_task_logs; commit; optimize table ibf_task_logs; truncate ibf_search_keywords; commit; optimize table ibf_search_keywords; truncate ibf_search_visitors; commit; optimize table ibf_search_visitors; truncate ibf_inline_notifications; commit; optimize table ibf_inline_notifications; -
spoken получил реакцию от benix в Конвертирование кодировки базы данных из cp1251 в utf8
Respected, спасибо.
На самом деле делать перекодировку через дамп это глупость. Есть скрипт, который перекодирует БД без дампа. Просто положить его в корень форума и запустить.
Скрипт такой. Сохранить под любым именем в корень форума и перейти по адресу скрипта.
<?php // Database info include("conf_global.php"); $dbhost = $INFO['sql_host']; $dbuser = $INFO['sql_user']; $dbpass = $INFO['sql_pass']; $dbname = $INFO['sql_database']; //--------------- header('Content-type: text/plain'); $dbconn = mysql_connect($dbhost, $dbuser, $dbpass) or die( mysql_error() ); $db = mysql_select_db($dbname) or die( mysql_error() ); $timer['start'] = microtime(true); $sql = "ALTER DATABASE `".$dbname."` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"; $result = mysql_query($sql) or die( mysql_error() ); print "Database changed to UTF-8.n"; $sql = 'SHOW TABLES'; $result = mysql_query($sql) or die( mysql_error() ); $sql = array(); while ( $row = mysql_fetch_row($result) ) { $table = mysql_real_escape_string($row[0]); $sql = "ALTER TABLE {$table} DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci, CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; mysql_query($sql) or die( mysql_error() ); print "{$table} changed to UTF-8.n"; } mysql_close($dbconn); $timer['end'] = microtime(true) - $timer['start']; echo "nPage generated in ". round( $timer['end'], 4 ); ?> -
spoken получил реакцию от Алексей Перевощиков в Конвертирование кодировки базы данных из cp1251 в utf8
Respected, спасибо.
На самом деле делать перекодировку через дамп это глупость. Есть скрипт, который перекодирует БД без дампа. Просто положить его в корень форума и запустить.
Скрипт такой. Сохранить под любым именем в корень форума и перейти по адресу скрипта.
<?php // Database info include("conf_global.php"); $dbhost = $INFO['sql_host']; $dbuser = $INFO['sql_user']; $dbpass = $INFO['sql_pass']; $dbname = $INFO['sql_database']; //--------------- header('Content-type: text/plain'); $dbconn = mysql_connect($dbhost, $dbuser, $dbpass) or die( mysql_error() ); $db = mysql_select_db($dbname) or die( mysql_error() ); $timer['start'] = microtime(true); $sql = "ALTER DATABASE `".$dbname."` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"; $result = mysql_query($sql) or die( mysql_error() ); print "Database changed to UTF-8.n"; $sql = 'SHOW TABLES'; $result = mysql_query($sql) or die( mysql_error() ); $sql = array(); while ( $row = mysql_fetch_row($result) ) { $table = mysql_real_escape_string($row[0]); $sql = "ALTER TABLE {$table} DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci, CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; mysql_query($sql) or die( mysql_error() ); print "{$table} changed to UTF-8.n"; } mysql_close($dbconn); $timer['end'] = microtime(true) - $timer['start']; echo "nPage generated in ". round( $timer['end'], 4 ); ?> -
spoken получил реакцию от lg29 в IP.Board 3.3.x, 3.4.x Security Update
lg29, именно это обновление ничего в АЦ не меняет.
-
spoken получил реакцию от Boyar в Конвертирование кодировки базы данных из cp1251 в utf8
Respected, спасибо.
На самом деле делать перекодировку через дамп это глупость. Есть скрипт, который перекодирует БД без дампа. Просто положить его в корень форума и запустить.
Скрипт такой. Сохранить под любым именем в корень форума и перейти по адресу скрипта.
<?php // Database info include("conf_global.php"); $dbhost = $INFO['sql_host']; $dbuser = $INFO['sql_user']; $dbpass = $INFO['sql_pass']; $dbname = $INFO['sql_database']; //--------------- header('Content-type: text/plain'); $dbconn = mysql_connect($dbhost, $dbuser, $dbpass) or die( mysql_error() ); $db = mysql_select_db($dbname) or die( mysql_error() ); $timer['start'] = microtime(true); $sql = "ALTER DATABASE `".$dbname."` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"; $result = mysql_query($sql) or die( mysql_error() ); print "Database changed to UTF-8.n"; $sql = 'SHOW TABLES'; $result = mysql_query($sql) or die( mysql_error() ); $sql = array(); while ( $row = mysql_fetch_row($result) ) { $table = mysql_real_escape_string($row[0]); $sql = "ALTER TABLE {$table} DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci, CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; mysql_query($sql) or die( mysql_error() ); print "{$table} changed to UTF-8.n"; } mysql_close($dbconn); $timer['end'] = microtime(true) - $timer['start']; echo "nPage generated in ". round( $timer['end'], 4 ); ?> -
spoken отреагировална пост Sepsism в Как сменить пароли ?
RealUser, нет, не так. Более подробно то, о чем писали выше:
Создаете нового юзера (назовем его temp_user) с нужным паролем. Затем смотрите в БД в таблице members значения полей members_pass_hash и members_pass_salt для пользователя temp_user. Предположим, они имеют значения "t548mad8bgfa7a4bh20b55f8c93e5a25" и "G0yrC" соответственно. Теперь вы знаете хеш и соль пароля, который вам нужен. Далее делаем запрос:
UPDATE members SET members_pass_hash='t548mad8bgfa7a4bh20b55f8c93e5a25', members_pass_salt='G0yrC' Таким запросом вы смените пароль всем юзерам на тот, с которым вы создали пользователя temp_user. Естественно, вы можете задать условие WHERE, тогда пароли изменятся только у тех пользователей, записи которых в БД соответствуют заданному условию.
Например, поменять пароль только пользователям с почтовым адресом "[email protected]" вы сможете так:
UPDATE members SET members_pass_hash='t548mad8bgfa7a4bh20b55f8c93e5a25', members_pass_salt='G0yrC' WHERE email='[email protected]'; -
spoken получил реакцию от AUYKGN в Invision Power Board 3.4.7 Eng / Nulled IPBmafia.Ru
Я делал много мелких правок в коде движка и в шаблонах, теперь вот боюсь обновляться, поскольку потеряю все это. Даже не знаю что и делать. Так на 3.4.5 и сижу.
-
spoken получил реакцию от AlexBrtn в Условные операторы IP.Board
Первоисточник тут
__community.invisionpower.com/resources/documentation/index.html/_/tutorials/skinning/template-logic-and-variables-r155 -
spoken получил реакцию от djinn в Условные операторы IP.Board
Первоисточник тут
__community.invisionpower.com/resources/documentation/index.html/_/tutorials/skinning/template-logic-and-variables-r155 -
spoken отреагировална пост Respected в Invision Power Board 3.4.7 Eng / Nulled IPBmafia.Ru
spoken, тогда просто применяй патчи, обновишься на 4 со временем
-
spoken получил реакцию от AlexBrtn в Classifieds 1.2.1
Этой ошибке 100 лет в обед и исправляется тупо в шаблоне. Тупые авторы не проверяют массив на пустоту, в результате чего в цикл foreach пустота и попадает. NULL и EMPTY разные значения! Были уже тут темы с аналогичными ошибками и в других приложениях.
Покажешь код шаблона, отвечающего за эту страницу, покажу как исправить.
-
spoken отреагировална пост Sanshalay в Обновление форума до IPS 4.0
Полностью с тобой согласен. Особенно с постскриптумом. Но четвёрка всё равно лажа ))
Надо было сразу пятёрку делать, сейчас модно до 10 не уметь считать
-
-
spoken получил реакцию от Amfy в Конвертирование кодировки базы данных из cp1251 в utf8
Respected, спасибо.
На самом деле делать перекодировку через дамп это глупость. Есть скрипт, который перекодирует БД без дампа. Просто положить его в корень форума и запустить.
Скрипт такой. Сохранить под любым именем в корень форума и перейти по адресу скрипта.
<?php // Database info include("conf_global.php"); $dbhost = $INFO['sql_host']; $dbuser = $INFO['sql_user']; $dbpass = $INFO['sql_pass']; $dbname = $INFO['sql_database']; //--------------- header('Content-type: text/plain'); $dbconn = mysql_connect($dbhost, $dbuser, $dbpass) or die( mysql_error() ); $db = mysql_select_db($dbname) or die( mysql_error() ); $timer['start'] = microtime(true); $sql = "ALTER DATABASE `".$dbname."` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"; $result = mysql_query($sql) or die( mysql_error() ); print "Database changed to UTF-8.n"; $sql = 'SHOW TABLES'; $result = mysql_query($sql) or die( mysql_error() ); $sql = array(); while ( $row = mysql_fetch_row($result) ) { $table = mysql_real_escape_string($row[0]); $sql = "ALTER TABLE {$table} DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci, CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; mysql_query($sql) or die( mysql_error() ); print "{$table} changed to UTF-8.n"; } mysql_close($dbconn); $timer['end'] = microtime(true) - $timer['start']; echo "nPage generated in ". round( $timer['end'], 4 ); ?> -
spoken получил реакцию от tofik228 в изменение размера аватаров на форуме
Заново аватар загружали? Он же обрезается при загрузке видимо.
-
spoken получил реакцию от Kuki в Просмотр только 1й страницы
Блин, в упор не помню как редактировал поле permission_custom_error таблицы forums.
Это сообщение редактируется через админку?
Нашел, тут это в параметрах форума:
Специальное сообщение, выводимое пользователям при попытке зайти в тему (если включен пункт выше)
Ну и пункт выше включить:
Разрешить пользователям видеть названия тем в списке, но запретить им просмотр содержимого этих тем?
-
spoken получил реакцию от Kuki в Просмотр только 1й страницы
Да, можно. Через настройки прав. Ставите "Просмотр форума", а "Чтение тем" не ставите.
Я ещё кое-что модифицировал, чтобы при заходе в тему выдавалось не обычное сообщение об ошибке, а сообщалось, что этот раздел доступен только после регистрации.
-
spoken получил реакцию от vsved в Конвертирование кодировки базы данных из cp1251 в utf8
Respected, спасибо.
На самом деле делать перекодировку через дамп это глупость. Есть скрипт, который перекодирует БД без дампа. Просто положить его в корень форума и запустить.
Скрипт такой. Сохранить под любым именем в корень форума и перейти по адресу скрипта.
<?php // Database info include("conf_global.php"); $dbhost = $INFO['sql_host']; $dbuser = $INFO['sql_user']; $dbpass = $INFO['sql_pass']; $dbname = $INFO['sql_database']; //--------------- header('Content-type: text/plain'); $dbconn = mysql_connect($dbhost, $dbuser, $dbpass) or die( mysql_error() ); $db = mysql_select_db($dbname) or die( mysql_error() ); $timer['start'] = microtime(true); $sql = "ALTER DATABASE `".$dbname."` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"; $result = mysql_query($sql) or die( mysql_error() ); print "Database changed to UTF-8.n"; $sql = 'SHOW TABLES'; $result = mysql_query($sql) or die( mysql_error() ); $sql = array(); while ( $row = mysql_fetch_row($result) ) { $table = mysql_real_escape_string($row[0]); $sql = "ALTER TABLE {$table} DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci, CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci"; mysql_query($sql) or die( mysql_error() ); print "{$table} changed to UTF-8.n"; } mysql_close($dbconn); $timer['end'] = microtime(true) - $timer['start']; echo "nPage generated in ". round( $timer['end'], 4 ); ?> -
spoken получил реакцию от SoundMonster в (Scrolling) Recent Posts Board Index
Блин, ну почему на мафии такие урезанные скриншоты хуков и их так мало?
Упс, а в самом файловом архиве скриншот не урезанный, сорри.
Поставил, спасибо! Скроллинг туповатый.
-
spoken получил реакцию от RealUser в (SOS34) Friends Online
leha85, в шаблоне globalTemplate есть метка к которой цепляется хук. А посмотреть её можно в параметрах хука. -