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

mysql

Подписаться на эту метку по RSS

FreeBSD 10 и ntopng

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

Небольшая заметка с хабра:

Ntop это сетевой зонд, который показывает использование сети подобно *nix приложениям top и processes.

Спустя 15 лет с момента представления оригинального ntop, пришло время создать новый, современный ntop. Мы называем его ntopng, ntop next generation (ntop следующее поколение)

Ради эксперимента и наличии свободного времени, решился поиграться на своем медиа сервере под управлением фряхи.

Не буду вдаваться в лирику, приступим.

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

Wordpress и поиск спама

Просмотров: 1324Комментарии: 0
Новости

Провел ревизию сайта. Обнаружил, что в некоторых статьях присутствует скрытый код типа

<div style="display: none;">
на ресурсы с виаграми и порно.

Ревизию проводил с помощью запроса:

SELECT * FROM `wp_posts` WHERE `post_content` LIKE '%<div style=%'

Значение

"<div style"
менял на поиск остального хлама. После этого сменил все пароли на доступ к админке и сделал ограничение по ip адресу. Как-то так.

Падение ProFTPD и Alarm Clock

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

Давненько ничего не писал. Всех поздравляю с наступившими праздниками.

Заметил сегодня, что у меня на одном сервере не работает ftp сервер proftpd. Посмотрел логи, в них пусто. Запустил, но он проработал буквально 10 секунд и упал. Стал дебажить:

#/usr/local/sbin/proftpd -d 10 -4 -n

Выдал примерно следующее:

server proftpd[77756] server: RELINQUISH PRIVS at pidfile.c:49 
Alarm clock

И все. Житие демона прекратилось. Гуглив не дин час решение было найдено, естественно колхозное.

Добавляем в Makefile строку:

LDFLAGS+= -pthread

Переустанавливаем порт и все работает.

Бэкап MySQL+FS+CRON+FTP. Обновление.

Просмотров: 2649Комментарии: 0
FreeBSDMySQL

Когда-то была запилена сия статья про резервное копирование бд, некоторых папок на фтп. Помогал этому добру планировщик.

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

Итак:

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

The used table type doesn't support FULLTEXT indexes.

Просмотров: 3063Комментарии: 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 регистратора

Просмотров: 6557Комментарии: 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]

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

Замена кодировки для всех таблиц

Просмотров: 1963Комментарии: 0
MySQL

Понадобилось мне сменить кодировочку для таблиц из одной БД. Все бы ничего, это в принципе можно сделать с помощью phpmyadmin, но есть одна проблема. Смену кодировки можно забубенить только отдельно для каждой таблицы, а у меня их было за 60.

Можно естессно накатать запрос, но я не гений mysql да и вообще языка sql.

Пришлось прибегнуть к помощи гугла и найти скриптик для выполнения этого действа:

<?php
$db = mysql_connect('localhost','myuser_mydbuser','mypassword');
if(!$db) echo "Cannot connect to the database - incorrect details";
mysql_select_db('myuser_mydbname'); $result=mysql_query('show tables');
while($tables = mysql_fetch_array($result)) {
foreach ($tables as $key => $value) {
mysql_query("ALTER TABLE $value COLLATE utf8_general_ci");
}}
echo "The collation of your database has been successfully changed!";
?>
  • myuser_mydbname - имя вашей бд;
  • myuser_mydbuser - имя пользователя бд;
  • mypassword - пароль пользователя бд;
  • utf8-general_ci кодировка на которую надо поменять таблички;

Сохраняете файло на сервере, в браузере пишем https://ваш_адрес_сайта/collate.php

И наслаждаемся результатом.