Архив заметок

Vladimir

The used table type doesn't support FULLTEXT indexes.

Просмотров: 4918Комментарии: 0
FreeBSDMybboardMySQL
Обязательно сделайте резервную копию БД перед дальнейшими действиями. В частности это касается администраторов форума MyBB(MyBulletinBoard).

Случился неприятный затык. При конвертировании типа таблицы из MYISAM в INNODB, мускул стал ругаться. INNODB не поддерживает такую индексацию. Поэтому, чтобы все-таки конвертировать табличку в INNODB надо индексы эти удалить.

Изначально у меня на одном из форумов стоял fulltext поиск, изменив его на стандартный, я думал, что проблема уйдет сама собой. Ожидания мои не оправдались и решено было выпилить индексы вручную.

Делал я все действия в консоли, хотя тоже самое можно провернуть через phpmyadmin.

Итак, погнали:

$ mysql -u root -p
Enter password:

Я залез сразу под root'ом. В целях повышения безопасности, логинитесь на сервер mysql под хозяином конкретной БД.

Далее смотрим список бд. Я например, чтобы не ошибиться в выборе базы вывожу его.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| ftp                |
| mail               |
| main               |
| mybb               |
| mysql              |
| performance_schema |
| pmadb              |
| webmail            |
+--------------------+
9 rows in set (0.01 sec)

Таблица mybb. Используем ее.

mysql> use mybb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

Теперь смотрим с какими параметрами была создана база, где используется fulltext:

mysql> show create table mybb_posts;
........................
| mybb_posts | CREATE TABLE `mybb_posts` (
........................
  PRIMARY KEY (`pid`),
  KEY `tid` (`tid`,`uid`),
  KEY `uid` (`uid`),
  KEY `visible` (`visible`),
  KEY `dateline` (`dateline`),
  KEY `longipaddress` (`longipaddress`),
  FULLTEXT KEY `message` (`message`)
) ENGINE=MyISAM AUTO_INCREMENT=5477 DEFAULT CHARSET=utf8 |
1 row in set (0.00 sec)

Мне нужен FULLTEXT KEY `message` (`message`). Избавимся от него.

mysql> alter table mybb_posts drop index message;
Query OK, 5427 rows affected (0.16 sec)
Records: 5427  Duplicates: 0  Warnings: 0

После чистки, табличка конвертировалась в INNODB без проблем.

Мониторинг сервера с помощью Cacti и Spine регистратора

Просмотров: 12835Комментарии: 2
FreeBSDСтатистика

Приветствую всех.

В предыдущей статье я уже пытался написать об этой программе. По некоторым причинам ее закончить не удалось.

Сегодня написал заново статью, возможно пригодится кому-нибудь в будущем или настоящем.

Ремарка: У вас уже должно быть установлено и настроено следующее ПО:
  • apache/nginx
  • php
  • mysql

Установка и настройка этих пакетов выходят за рамки этой статьи.

В настоящее время я перешел на обновление портов через svn, cvs скоро отомрет как ненужный атавизм.

Напомню, что перед любой установкой софта, обязательно обновите порты.

После обновления, установим cacti, net-snmp, cacti-spine

# portmaster net-mgmt/cacti net-mgmt/cacti-spine net-mgmt/net-snmp

Что указал я:

net-snmp.jpg

После установки необходимо создать БД для cacti. Я делал это с помощью phpmyadmin, вы же можете создать как удобнее вам. Через консоль:

  1. Создаем БД:
  2. # mysqladmin --user=root create cacti
  3. Создаем в mysql пользователя и пароль для бд cacti:
  4. # echo "GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactiuser';
    FLUSH PRIVILEGES;" | mysql
  5. Импортуруем таблицы в нашу бд:
  6. # mysql -u cactiuser -p -D cacti < /usr/local/share/cacti/cacti.sql
    Синтаксис Mysql немного поменялся со временем. Я добавил недостающие ключи для корректного импорта, а именно:
    [ul]
  7. -u пользователь;
  8. -p пароль;
  9. -D база данных
  10. [/ul]

Читать далее...

[MyCode] Видео с сайта 1-го канала

Просмотров: 2351Комментарии: 0
MybboardПлагины

Всем привет.

Запилил bb код для отображения видео с 1-го канала на форуме.

Мини хау-ту:

Заходим в Админку -> Свои ББ коды -> Добавить новый ББ код

Название: 1TV

Краткое описание: Видео с 1-го канала

Регулярное выражение:

\[1tv=([0-9]+)x([0-9]+)\](.*?)\[\/1tv\]

Замена:

<object width="$1" height="$2">
  <param name="movie" value="https://www.1tv.ru/newsvideo/$3"></param>
  <param name="flashvars" value="stats=https://www.1tv.ru/addclick/"</param> 
  <param name="wmode" value="window"></param>
  <param name="allowFullScreen" value="true"></param>
  <param name="allowscriptaccess" value="always"></param>
  <param name="swliveconnect" value="true"></param name>
  <param name="quality" value="high"></param name> 
  <param name="bgcolor" value="white"</param name>  
  <param name="name" value="videoportal"</param name> 
  <param name="id" value="videoportal"</param name>
  <embed src="https://www.1tv.ru/newsvideo/$3" type="application/x-shockwave-flash" wmode="window" width="$1" height="$2" allowFullScreen="true"></embed>
</object>

Ссылка на видео 1-го канала выглядет следующим образом:

https://www.1tv.ru/news/social/225690

Нам нужен собственно код = 225690

Чтобы добавить видео в ваше сообщение, необходимо обязательно указывать ширину и высоту. Если вы опубликуете без этих параметров видео не отобразится.

Итак, мой пример выглядит так:

[1tv=640x380]225690[/1tv]

Обновление Perl

Просмотров: 2968Комментарии: 0
FreeBSD

Запишу на будущее заметку. Сегодня после обновления дерева портов заглянул в файл /usr/ports/UPDATING, чтобы убедиться в необходимости пересобрать тот или иной порт.

Сегодня в этом файле была такая новость:

20130204:
AFFECTS: users of lang/perl5.8 and lang/perl5.10
AUTHOR: az@FreeBSD.org
lang/perl5.8 and lang/perl5.10 have been removed since they've been EOL by upstream. You will have to recompile all perl dependant ports after updating your ports tree. Please see entry 20110517 for help.

Запись от 20110517 нашел в нем же и приведу ее ниже с моим переводом.

Вышел lang/perl5.14. Если вы хотите перейти на него например с lang/perl5.12, следуйте нижеприведенным шагам:

Пользователи Portupgrade:

  1. Исправьте pkgdb.db (для безопасности):
  2. pkgdb -Ff

  3. Переустановите новую версию perl (5.14):
  4. env DISABLE_CONFLICTS=1 portupgrade -o lang/perl5.14 -f perl-5.12.\*

  5. Переустановите все зависимости Perl:
  6. portupgrade -fr perl

Пользователи Portmaster:

  • portmaster -o lang/perl5.14 lang/perl5.12

Консервативный метод:

  • portmaster p5-

Комплексный метод (возможно будет излишним):

  • portmaster -r perl-
Заметка: Если "perl-" соответствует более чем одному порту необходимо указать явно имя каталога Perl в /var/db/pkg.

Shared object "libGeoIP.so.5" not found

Просмотров: 2946Комментарии: 0
FreeBSDNginx

Приветствую.

На досуге как-то криво обновил порты, что после перезагрузки железки появилась такая требуха:

Performing sanity check on nginx configuration:
Shared object "libGeoIP.so.5" not found, required by "nginx"
Starting nginx.
Shared object "libGeoIP.so.5" not found, required by "nginx"
/etc/rc: WARNING: failed to start nginx

Родной нгинкс требовал библиотечку GeoIP smile решил проблему следующим образом. Сначала посмотрел какие зависимости есть у пакета nginx:

# portmaster --show-work www/nginx
===>>> Currently installed version: nginx-1.2.6,1
===>>> Port directory: /usr/ports/www/nginx
===>>> Starting check for all dependencies
===>>> Gathering dependency list for www/nginx from ports
===>>> Installed converters/libiconv
===>>> Installed devel/cmake
===>>> Installed devel/cmake-modules
===>>> Installed devel/gettext
===>>> Installed devel/gmake
===>>> Installed devel/google-perftools
===>>> Installed devel/libtool
===>>> Installed devel/pcre
===>>> Installed devel/pkgconf
===>>> Installed graphics/gd
===>>> Installed graphics/jpeg
===>>> Installed graphics/png
===>>> Installed lang/perl5.16
===>>> NOT INSTALLED net/GeoIP
===>>> Installed ports-mgmt/pkg
===>>> Installed print/freetype2
===>>> Installed textproc/expat2
===>>> Installed x11-fonts/fontconfig

Не установлено, конечно, забавно получилось. Я даже этот пакет и не удалял. Ну да бог с ним, установим.

# portmaster net/GeoIP
............
............
# /usr/local/etc/rc.d/nginx start
Performing sanity check on nginx configuration:
nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful
Starting nginx.
# ps -aux | grep nginx
root 31716 0,0 0,1 65940 9464 ?? Ss 23:11 0:00,00 nginx: master process /usr/local/sbin/nginx
www 31717 0,0 0,1 65940 11132 ?? S 23:11 0:00,00 nginx: worker process (nginx)
www 31718 0,0 0,1 65940 11132 ?? S 23:11 0:00,00 nginx: worker process (nginx)
root 31720 0,0 0,0 16280 2120 0 S+ 23:11 0:00,00 grep nginx

Корректное форматирование флешки в командной строке

Просмотров: 27702Комментарии: 8
Windows

Будничный пост. Всем привет smile

Как-то я пробовал сделать загрузочную флешку с виндой через инструмент Windows 7 USB DVD Download Tool. И эта тулза внезапно ругнулась на кривую флешку. Давным давно я нашел решение в форматировании с помощью командной строки и благополучно забыл. Теперь пришлось искать заново и найти smile Оставлю заметку на будущее!

Открываем командную строку с правами админа.

Далее заходим в программу для работы с дисками diskpart:

C:\Windows\system32>diskpart
Microsoft DiskPart версии 6.1.7601
(С) Корпорация Майкрософт, 1999-2008.
На компьютере: ASUS

Посмотрим, какие диски есть в системе (естессно флешка должна быть подключена к компу или ноуту).

Читать далее...

Sony Xperia S. Unlock the boot loader

Просмотров: 6998Комментарии: 1
Android

Всем привет. Хотел сегодня запилить на свой мобильный Android 4.1 или 4.2. Это действие я отложил до лучших времен. Официальное обновление от Sony для Xperia S должно выйти в первом квартале 2013 года, поэтому я не стал торопиться с обновлением.

Но это все лирика. Поделюсь некоторым опытом подготовки аппарата для обновления. Для этого необходимо, как уже написано в сабже - разблокировать загрузчик.

Disclaimer:

Следующие действия, могут привести к аннулированию гарантии на ваш телефон. Sony не гарантирует полную функциональность телефона, и не будет нести ответственность за любые сбои в вашем телефоне, материальный ущерб или неполадки, вызванные этими действиями.

И еще:

Также обратите внимание, что пути назад не будет, как только вы разблокируете загрузчик. Вы не сможете вернуть телефон в исходное состояние (заблокировать загрузчик), если разблокируете его. Кроме того, если телефон превратится в кирпич, это ваша собственная ответственность.

Вроде предупредил smile Поехали! Данное руководство лежит здесь. Я лишь привожу перевод инструкции.

Начнем-с. Для начала посмотрим поддерживает ли ваш телефон возможность разблокировки загрузчика. Для этого в меню набора номера водим следующий код: Читать далее...