Reputation Activity
-
spoken got a reaction from Andross in Чем разбить БД?Имя админа mysql, как правило, root
Да куда хочешь. В домашний каталог, например. Вот в какой каталог залили, туда переходишь командой cd и там выполняешь команду mysql с параметрами.
-
Вот такой запрос поможет оценить что больше всего ест место в БД
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; -
Есть там еще одна хитрая таблица сессий, она прилично места в БД отъедала. Я для неё поменял тип на таблицу в памяти, то есть она не отъедает место в БД.
Все удаления в БД надо проводить с головой, последствия могут быть печальными. Перед 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 живет в памяти, а не в файле таблицы БД на диске.
-
Есть там еще одна хитрая таблица сессий, она прилично места в БД отъедала. Я для неё поменял тип на таблицу в памяти, то есть она не отъедает место в БД.
Все удаления в БД надо проводить с головой, последствия могут быть печальными. Перед 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 живет в памяти, а не в файле таблицы БД на диске.
-
Вот такой запрос поможет оценить что больше всего ест место в БД
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 got a reaction from benix in Конвертирование кодировки базы данных из cp1251 в utf8Respected, спасибо.
На самом деле делать перекодировку через дамп это глупость. Есть скрипт, который перекодирует БД без дампа. Просто положить его в корень форума и запустить.
Скрипт такой. Сохранить под любым именем в корень форума и перейти по адресу скрипта.
<?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 got a reaction from Алексей Перевощиков in Конвертирование кодировки базы данных из cp1251 в utf8Respected, спасибо.
На самом деле делать перекодировку через дамп это глупость. Есть скрипт, который перекодирует БД без дампа. Просто положить его в корень форума и запустить.
Скрипт такой. Сохранить под любым именем в корень форума и перейти по адресу скрипта.
<?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 got a reaction from lg29 in IP.Board 3.3.x, 3.4.x Security Updatelg29, именно это обновление ничего в АЦ не меняет.
-
spoken got a reaction from Boyar in Конвертирование кодировки базы данных из cp1251 в utf8Respected, спасибо.
На самом деле делать перекодировку через дамп это глупость. Есть скрипт, который перекодирует БД без дампа. Просто положить его в корень форума и запустить.
Скрипт такой. Сохранить под любым именем в корень форума и перейти по адресу скрипта.
<?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 reacted to Sepsism in Как сменить пароли ?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, тогда пароли изменятся только у тех пользователей, записи которых в БД соответствуют заданному условию.
Например, поменять пароль только пользователям с почтовым адресом "mail_we_need@example.com" вы сможете так:
UPDATE members SET members_pass_hash='t548mad8bgfa7a4bh20b55f8c93e5a25', members_pass_salt='G0yrC' WHERE email='mail_we_need@example.com'; -
spoken got a reaction from AUYKGN in Invision Power Board 3.4.7 Eng / Nulled IPBmafia.RuЯ делал много мелких правок в коде движка и в шаблонах, теперь вот боюсь обновляться, поскольку потеряю все это. Даже не знаю что и делать. Так на 3.4.5 и сижу.
-
spoken got a reaction from AlexBrtn in Условные операторы IP.BoardПервоисточник тут
__community.invisionpower.com/resources/documentation/index.html/_/tutorials/skinning/template-logic-and-variables-r155 -
spoken got a reaction from djinn in Условные операторы IP.BoardПервоисточник тут
__community.invisionpower.com/resources/documentation/index.html/_/tutorials/skinning/template-logic-and-variables-r155 -
spoken, тогда просто применяй патчи, обновишься на 4 со временем
-
spoken got a reaction from AlexBrtn in Classifieds 1.2.1Этой ошибке 100 лет в обед и исправляется тупо в шаблоне. Тупые авторы не проверяют массив на пустоту, в результате чего в цикл foreach пустота и попадает. NULL и EMPTY разные значения! Были уже тут темы с аналогичными ошибками и в других приложениях.
Покажешь код шаблона, отвечающего за эту страницу, покажу как исправить.
-
spoken reacted to Sanshalay in Обновление форума до IPS 4.0Полностью с тобой согласен. Особенно с постскриптумом. Но четвёрка всё равно лажа ))
Надо было сразу пятёрку делать, сейчас модно до 10 не уметь считать
-
spoken got a reaction from jheka7 in (PD34) YouTube Video Sidebar 1.0.0KGstan, есть чо?
-
spoken got a reaction from Amfy in Конвертирование кодировки базы данных из cp1251 в utf8Respected, спасибо.
На самом деле делать перекодировку через дамп это глупость. Есть скрипт, который перекодирует БД без дампа. Просто положить его в корень форума и запустить.
Скрипт такой. Сохранить под любым именем в корень форума и перейти по адресу скрипта.
<?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 got a reaction from tofik228 in изменение размера аватаров на форумеЗаново аватар загружали? Он же обрезается при загрузке видимо.
-
spoken got a reaction from Kuki in Просмотр только 1й страницыБлин, в упор не помню как редактировал поле permission_custom_error таблицы forums.
Это сообщение редактируется через админку?
Нашел, тут это в параметрах форума:
Специальное сообщение, выводимое пользователям при попытке зайти в тему (если включен пункт выше)
Ну и пункт выше включить:
Разрешить пользователям видеть названия тем в списке, но запретить им просмотр содержимого этих тем?
-
spoken got a reaction from Kuki in Просмотр только 1й страницыДа, можно. Через настройки прав. Ставите "Просмотр форума", а "Чтение тем" не ставите.
Я ещё кое-что модифицировал, чтобы при заходе в тему выдавалось не обычное сообщение об ошибке, а сообщалось, что этот раздел доступен только после регистрации.
-
spoken got a reaction from vsved in Конвертирование кодировки базы данных из cp1251 в utf8Respected, спасибо.
На самом деле делать перекодировку через дамп это глупость. Есть скрипт, который перекодирует БД без дампа. Просто положить его в корень форума и запустить.
Скрипт такой. Сохранить под любым именем в корень форума и перейти по адресу скрипта.
<?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 got a reaction from SoundMonster in (Scrolling) Recent Posts Board IndexБлин, ну почему на мафии такие урезанные скриншоты хуков и их так мало?
Упс, а в самом файловом архиве скриншот не урезанный, сорри.
Поставил, спасибо! Скроллинг туповатый.
-
spoken got a reaction from RealUser in (SOS34) Friends Onlineleha85, в шаблоне globalTemplate есть метка к которой цепляется хук. А посмотреть её можно в параметрах хука.
-
spoken got a reaction from AlexBrtn in E-mail в профиле как убратьЕё видит только админ.