День прошел, как обычно, под знаком дурдома. Раскаленные добела телефоны, периодически, как черт из табакерки, появляющийся шеф, неустанно генерящий идеи одна безумнее другой...
четверг, 20 ноября 2008 г.
пятница, 15 августа 2008 г.
MySQL
долго долбился с установкой apache, mysql, php.
постоянно возникали траблы то с одним, то с другим. само собой, пока долбишься с одним, совершенно вылетает из головы, как поправить другое. решил записать, чтобы не таскаться снова по всему инету.
...
мускуль:
ставим из портов:
~> cd /usr/ports/databases/mysql50-server
~> make && make install && make clean
после установки меняем права на директорию:
~> chown -R mysql:mysql /var/db/mysql
~>cgrp -R /var/db/mysql
главный конфиг - файл my.cnf (у некоторых - my.cfg). валяться он должен в тех местах, где мускуль его может найтить
/etc/my.cnf/var/db/mysql/my.cnf/usr/local/etc/my.cnf
у меня - /usr/local/etcсоппсно файл (взят на lissyara.su из статьи самого лисяры )# Этот конфигурационный файл сделан на основе файла для маленьких# систем - /usr/local/share/mysql/my-small.cnf. Большую часть его# делал не я, а один знакомый. Имени, к сожалению, не помню...# Но всё же предупреждаю - копирайт на настройки конфига не мой :))## Вообще, конфигурационный файл можно положить в несколько мест:# /etc/my.cnf# /var/db/mysql/my.cnf# /usr/local/etc/my.cnf# В любом из них mysqld его найдёт, и достанет из него настройки.# Самое корректное место, если судить по стартовому скрипту, это# директория где лежат базы данных - /var/db/mysql/my.cnf.# Опции для всех клиентов MySQL[client]# Пароль для подключения к БД#password = passw# Порт на котором висит MySQLport = 3306# Сокет MySQLsocket = /usr/home/DB/mysql.sock# Опции MySQL-сервера[mysqld]# Портport = 3306# Адрес, который будем слушать (если вам не нужно подключаться к# MySQL с других машин, то оставьте здесь 127.0.0.1)bind-address = 127.0.0.1# Где лежит сокетsocket = /usr/home/DB/mysql.sock# Не использовать средства системных блокировок.skip-locking# Вообще, в новых версиях, (после 3.21) этот пункт правильно называется# key_buffer_size, но можно использовать и старое имя. Значение этого# пункта - размер буфера, используемого для блоков индексов. Чтобы# улучшить обработку индексов (для всех операций чтения и записи нескольких# элементов), необходимо увеличить это значение настолько, насколько возможно.# Рекомендуется, 1/4 от объёма оперативки, но не более 1/2 - иначе система# может начать сохранять временные файлы на диске, что значительно# снизит производительность.key_buffer = 16K# Максимальный размер одного пакета. Изначально размер буфера сообщений# устанавливается в net_buffer_length байтов, но при необходимости может# возрасти до max_allowed_packet байтов. Это значение по умолчанию не# настолько велико, чтобы отсеивать большие (возможно ошибочные) пакеты.# Если используются большие столбцы BLOB, его необходимо увеличить.# Значение должно быть не меньше самого большого BLOB, который будет# использоваться. Ограничение протокола для max_allowed_packet# составляет 16 Мб в MySQL 3.23 и 1Гб в MySQL 4.0.max_allowed_packet = 1M# Количество открытых таблиц для всех потоков. С увеличением этого# значения увеличивается количество дескрипторов файлов, необходимых# для mysqld. Чтобы узнать, необходимо ли изменять значение кэша таблиц,# следует проверить значение переменной Opened_tables.# Если у этой переменной большое значение, а команда FLUSH TABLES# (которая закрывает все таблицы, а потом открывает их повторно)# используется не часто, то необходимо увеличить ее значение.table_cache = 4# Каждый поток, которому необходимо произвести сортировку, выделяет# буфер данного размера. Увеличение данного значения позволит ускорить# выполнение операторов ORDER BY или GROUP BY.sort_buffer_size = 64K# Каждый поток, осуществляющий последовательное сканирование, выделяет# буфер указанного размера для каждой сканируемой таблицы. Если# проводится много последовательных сканирований, это значение# можно увеличить.read_buffer_size = 256K# При считывании строк, после проведения сортировки, в отсортированном# порядке строки считываются через буфер, чтобы избежать операций поиска# по диску. Это может улучшить выполнение ORDER BY весьма и весьма,# если параметр установлен в большое значение. Т.к. эта переменная# имеет отношение к потоку, то не устанавливайте слишком большое# значение глобально, но просто меняйте его при выполнении некоторых# больших запросов.read_rnd_buffer_size = 256K# В данное значение устанавливается, в промежутках между запросами,# буфер соединения. Обычно это значение не изменяется, но если у вас# очень мало памяти, можно установить его по размеру ожидаемого# запроса (т.е. равным предполагаемой длине операторов SQL, отправляемых# клиентами; если оператор превысит указанную длину, буфер будет# автоматически увеличен как максимум до max_allowed_packet байтов).net_buffer_length = 2K# Размер стека для каждого потока. От данного значения зависит большое# количество ограничений, обнаруживаемых при помощи теста crash-me.# По умолчанию этот размер достаточен для нормальной работы.thread_stack = 64K# Вообще не слушать порты TCP/IP. Это может применяться для большей# безопасности, если все процессы, соединяющиеся с MySQL висят на томже# хосте, что и mysqld. Все взаимодействия с mysqld будут осуществляться# через Unix-сокеты, или именованые каналы.# Заметтьте, что использование этой опции под форточками, без включчения# именованных каналов (используйте опцию "enable-named-pipe") сделает# работу MySQL бесполезной - ибо с mysqld никто не сможет соединиться :)skip-networking# Если Вы используете InnoDB, то закомментируйте эту опциюskip-innodb# С этой опцией MySQL не будет инициализировать библиотеку Berkeley DB,# что позволит сэкономить большое количество памяти.skip-bdb# Hекоторое уникальное число между 2 и 2^32-1. Значения server-id должны# быть различными на каждом сервере, участвующем в репликации. Если# значение server-id не определено, оно будет установлено в 1, если# также не определено значение master-host, оно будет установлено в 2.# Обратите внимание, что если значение server-id опущено, то головной# сервер будет отказывать в соединении всем подчиненным серверам, а# подчиненный сервер - отказывать в соединении головному серверу.# Таким образом, опускать установку значения server-id можно лишь в# случае резервного копирования с использованием двоичного журнала.server-id = 1# Раскомментируйте эту опцию, для включения логгирования всех запросов# Заметтьте - тока на время отладки! Потом надо закомментить и# рестартануть MySQL!# Файл должен существовать, с соответствующими правами на него:# touch /var/log/mysql.log# chown mysql:wheel /var/log/mysql.log# chmod 640 /var/log/mysql.loglog = /var/log/mysql.log# Указывает местоположение двоичного журнала обновлений,# в котором будут вестись записи.#log-bin=mysql-bin[mysqldump]# Если задан этот параметр, то обработчик таблицы при выполнении# удаления не будет объединять индексы - в некоторых случаях это# может ускорить данную операциюquick# Максимальная величина пакета, посылаемого/принимаемого с сервераmax_allowed_packet = 16M[mysql]# Отключает автоматическое рехеширование. rehash следует использовать# для получения хеша таблиц и полей. Это обеспечивает более# быстрый старт mysql.no-auto-rehash# Опция, которую рекомендуется раскомментить начинающим :)# Разрешает выполнять только операции UPDATE и DELETE, используя ключи.#safe-updates[isamchk]key_buffer = 8Msort_buffer_size = 8M[myisamchk]key_buffer = 8Msort_buffer_size = 8M[mysqlhotcopy]# Допускать простой длительностью interactive_timeout секунд (вместо# wait_timeout секунд) перед закрытием данного соединения.interactive-timeout# P.S. Большинство текста - это из мануала по MySQL 4.0, за который# мы не так давно воевали на www.mysql.com (его убирали на некоторое# время, типа он по старой версии, потому не актуален...# но - отвоевали, вернули :))))
запускаем
/usr/local/bin/mysql_install_db --user=mysql
cd /usr/local ; /usr/local/bin/mysql_safe &
после инсталляции меняем пароль рута:
/usr/local/bin/mysqladmin -u root password 'new_passw'
иначе получим следующее:
~> mysql -u root -p
Enter password:
su: sorry
~>
по дефолту рутовый пароль пустой. но без него не пущает!))))
после всего заходим в мускуль:
~> mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.0.51a-log FreeBSD port: mysql-server-5.0.51a
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
все это безобразие делалось по статье "
Установка MySQL
"четверг, 15 мая 2008 г.
for mem
http://www.itl.ua/community/index.php/topic,5422.0.html?PHPSESSID=2523406f37b272b19d9fe8d2f19a2a62
http://www.hypercomp.ru/articles/configuring-vlans-on-cisco-catalyst-switches/
вторник, 13 мая 2008 г.
понедельник, 14 апреля 2008 г.
пятница, 11 апреля 2008 г.
ну это просто праздник какой-то!!!
Сканы "Юного техника" и приложений к нему!!!!!! ААААААААААААААААААА!!!!
http://jt-arxiv.narod.ru/index.html
УРААААА!!!!!!
РЕСПЕКТИЩЩЕ ДМИТРИЮ ТОКАРЕВУ!!!!!
утречко порадовало
но сегодня я просто обомлел. стою на остановке
мдя. тут уж и не знаю, что лучше - чтобы дети видели такие чудеса или чтобы заводы работали...
*чешет репу*
четверг, 10 апреля 2008 г.
проблемы с лисой + костыль
грабли:
некоторое время назад начались у меня траблы с лисой. то в кору выпадет, то просто погаснет, а то и тачку выключает... причем в логах это выключение никак не мотивируется, просто как будто нажали ресет... помогло только удаление директории firefox.
сейчас снова началось. но не грохать же все время эту директорию несчастную!
лог перезагрузки машины не буду показывать - нет там ничего интересного. а вот лог смерти лисы покажу:
[info2] ~> firefox
NP_Initialize
New
SetWindow
SetWindow
SetWindow [b]#закрываю одну из вкладок и все. лиса в дауне[/b]
Destroy
The program 'gecko' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadShmSeg (invalid shared segment parameter)'.
(Details: serial 34 error_code 180 request_code 149 minor_code 2)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
http://flyflik.brinkster.net
костыль:
запуск всех мозилловсих браузеров таким образом:
/usr/local/lib/имя_проги/имя_проги-bin --sync
nvidia
To use these drivers, make sure that you have loaded the nvidia kernel
module, by doing
# kldload nvidia
or adding
nvidia_load="YES"
to your /boot/loader.conf.
Note for users of FreeBSD 7.X and above: you MUST edit /boot/loader.conf
and reboot, kldload'ing nvidia module will NOT do the trick.
If you build this port with WITH_FREEBSD_AGP=yes, make sure you have
agp.ko kernel module installed and loaded, since nvidia.ko will depend
on it, or have your kernel compiled with "device agp". Otherwise the
nvidia kernel module will not load. Also, care to specify correct
``Option "NvAGP"'' in ``Device'' section of your X11 configuration file.
When building with Linux compatibility (WITH_LINUX=yes), make sure
linux.ko is available as well (or have it compiled in kernel). It can
be loaded via /boot/loader.conf (or later in boot process if you add
linux_enable="YES"
to your /etc/rc.conf.
Note that this driver does not support PAE-enabled kernels.
If X.org cannot start and reports
(EE) NVIDIA(0): Failed to obtain a shared memory identifier.
in /var/log/Xorg.0.log while actually you have ``options SYSVSHM''
enabled in kernel, the sysctl ``kern.ipc.shmall'' should be increased.
See /usr/local/share/doc/NVIDIA_GLX-1.0/README for more information.
вторник, 8 апреля 2008 г.
log for mem
[info2] ~> firefox --sync
NP_Initialize
New
SetWindow
SetWindow
SetWindow
Destroy
The program 'gecko' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadShmSeg (invalid shared segment parameter)'.
(Details: serial 34 error_code 180 request_code 149 minor_code 2)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)