| 
		
			
			 
		 | 
		
			
			 www.lissyara.su
—> статьи
—> FreeBSD
—> программы
—> MySQL
			
			
			 
			
			
 Установка MySQL
			
			
			
			Автор: lissyara. 
			
			
       Опять статья навеянная многочислеными просьбами трудящихся :) Заодно не придётся во всех новых статьях описывать установку MySQL :) Так что, в любом случае пригодится. Вообще, с MySQL вроде всё просто, но почему-то народ активно морозится баз данных, используя системных юзеров в почте, да всякие файлы текстовые, под почту да хранение трафика. Хотя с БД оно всё на порядок удобней получается. 
    Итак, рассматривать будем установку и небольшую настройку двух версий MySQL - 5.0 и 3.23 под FreeBSD6.0. Почему именно они? На данный момент, 5.1 вроде всё ещё бета, потому используется на рабочих серверах только отъявленными маньяками, или теми у кого есть необходимость. А вот 3.23 нужна в случаях, когда на какой-нить старенькой машинке нужна "записная книжка" для почтовых юзеров, да БД куда складывать статистику по траффику инета, например. Подымать для этого 5.0 или 4.1 - расточительство оперативки и ресурсов слабенькой машинки. У меня и на некоторых, очень хороших машинах, стоит 3.23 - ибо его хватает. 
    Итак, ставим 5.0 
 
		
/usr/home/lissyara/>cd /usr/ports/databases/mysql50-server/
/usr/ports/databases/mysql50-server/>make
===>  Vulnerability check disabled, database not found
You may use the following build options:
        WITH_CHARSET=charset    Define the primary built-in charset (latin1).
        WITH_XCHARSET=list      Define other built-in charsets (may be 'all').
        WITH_COLLATION=collate  Define default collation (latin1_swedish_ci).
        WITH_OPENSSL=yes        Enable secure connections.
        WITH_LINUXTHREADS=yes   Use the linuxthreads pthread library.
        WITH_PROC_SCOPE_PTH=yes Use process scope threads
                                (try it if you use libpthread).
        BUILD_OPTIMIZED=yes     Enable compiler optimizations
                                (use it if you need speed).
        BUILD_STATIC=yes        Build a static version of mysqld.
                                (use it if you need even more speed).
        WITHOUT_INNODB=yes      Disable support for InnoDB table handler.
        WITH_ARCHIVE=yes        Enable support for Archive Storage Engine.
        WITH_FEDERATED=yes      Enable support for Federated Storage Engine.
        WITH_NDB=yes            Enable support for NDB Cluster.
===>  Extracting for mysql-server-5.0.22
^C
/usr/ports/databases/mysql50-server/>
  |   Прервал. Доступна куча опций, потому с ними и поиграемся, для чего в файл /etc/make.conf надо внести такие строки: 
 
		
# Для некоторых, особо тупых приложений, лучше указать версию MySQL,
# что используется, тут. Но - для совсем тупых не поможет и это.
DEFAULT_MYSQL_VER=50
# Директория где лежат порты
PORTSDIR?=      /usr/ports
# для сервера
.if ${.CURDIR} == ${PORTSDIR}/databases/mysql50-server
# Дефолтовая кодировка. Вообще, этим пунктом увлекаться не стоит -
# могут возникнуть проблемы при переносе на другой сервер. На самом
# деле и не проблемы вовсе - просто дамп перекодировать да поменять
# кодировку-коллэйшен у таблиц в дампе, перед заливкой, но первый
# раз столкнувшись, вызывает кучу проблем...
WITH_CHARSET=utf8
# Другие вкомпиленные кодировки. Можно задать 'all' - все.
#WITH_XCHARSET=all
# Дефолтовая кодировка сравнения (другого слова подобрать не могу...)
WITH_COLLATION=cp1251_bin
# Поддержка OpenSSL - для шифрования передаваемых данных.
# Шифрование - это конечно хорошо, но - повышается нагрузка на
# машину сервера и на машину клиента (если и тот и другой на одной
# машине - вообще не вижу смысла в этом пункте.)
#WITH_OPENSSL=yes
# Интересная опция - позволяет работать в несколько "нитей",
# обрабатывая несколько запросов одновременно - в результате
# повышается производительность.
WITH_LINUXTHREADS=yes
# Программные треды FreeBSD (если я верно всё понял). Тестов на скорость,
# в сравнении с линуксовыми не нашлось - потому не знаю, кто быстрей.
# Кстати, видел рекомендацию - включать и те и другие треды одновременно.
# Смысла, особого в этом не вижу, но и не утверждаю ничего.
#WITH_PROC_SCOPE_PTH=yes
# Собирать с флагами оптимизации (-O2), сам не мерял, но по слухам,
# несколько процентов производительности можно выиграть. Будет
# полезным на старых машинах, или высоконагруженных.
BUILD_OPTIMIZED=yes
# Собрать статическую версию mysqld (cо вкомпиленными либами, чтоль)
# Также, как и предыдущая опция, позволит выиграть несколько процентов
# производительности (по слухам - до 10% - но чё-то слабо верится...)
BUILD_STATIC=yes
# Отключить тип таблиц InnoDB (если не используете - будет поменьше
# коду, и, соответственно, быстрей работать будет)
WITHOUT_INNODB=yes
# Специальный тип хранения данных (не всех, тока тех, что без индексов),
# позволяет хранить их в виде архива, тем самым экономится дисковое
# пространство (в ущерб производительности, я думаю... Так что смысл
# есть, лишь если надо хранить кучу неиндексированных данных -
# те же данные по траффику, к примеру, там всё равно перебором почти всё :))
#WITH_ARCHIVE=yes
# Фенька, позволяющая работать с удалёнными (находящимися на другом хосте)
# таблицами данных, как будто они находятся на локальной машине
# (NFS, чтоль, уже отменили? :)) Хотя, если выборки будут идти на другом
# хосте - то нагрузка на сеть будет меньшe, чем с NFS. Короче - не пробовал,
# ничё не утверждаю... Пару строк в документации прочёл.)
#WITH_FEDERATED=yes
# Опция, нужная лишь в случае, если будете собирать кластер MySQL-серверов
#WITH_NDB=yes
.endif
# для клиента
.if ${.CURDIR} == ${PORTSDIR}/databases/mysql50-client
# Многие из опция сервера, применяются и в клиенте. Вобщем-то, какие не
# применяются, интуитивно понятно - то, что касается всяких фенек, типа
# кластеров, архивных таблиц и прочего. Ставить их тут можно, но они не
# произведут никакого действия. Также, хочу заметить, что кодировка,
# 'по-умолчанию' бывает не тока у сервера, но и у клиента. Частенько,
# именно на этом прокалываются. (И вовсе не обязательно она должна быть
# такая же как у сервера.)
# Также хочу заметить, что клиента не надо собирать с какими бы то ни
# было тредами - линуксовыми, или родными - я прокололся на линуксовых,
# вроде всё пашет, с консоли, а вот апач падает... Методом исключения
# выяснил виновника - клиент с тредами - падает mysql-модуль PHP,
# валит апача...
WITH_CHARSET=cp1251
WITH_COLLATION=cp1251_bin
BUILD_OPTIMIZED=yes
.endif
  |   Итак, собираем MySQL: 
 
		
/usr/home/lissyara/>cd /usr/ports/databases/mysql50-server/
/usr/ports/databases/mysql50-server/>make && make install && make clean
  |   После инсталляции клиента сборка прекращается с ошибкой - не может найти библиотеку. 
 
		
===>   Installing ldconfig configuration file
===>   Compressing manual pages for mysql-client-5.0.22
===>   Registering installation for mysql-client-5.0.22
===>   Returning to build of mysql-server-5.0.22
Error: shared library "mysqlclient.15" does not exist
*** Error code 1
Stop in /usr/ports/databases/mysql50-server.
/usr/ports/databases/mysql50-server/>
  |   Я перезагрузился, помогло, но можно и иначе, дать команду: 
 
		
/usr/home/lissyara/>/sbin/ldconfig -m /usr/local/lib/mysql
/usr/home/lissyara/>
  |   Должно помочь и без перезагрузки. Вообще, раньше, вместе с клиентом, инсталлся такой скрипт: 
/usr/local/etc/rc.d/000.mysql-client.sh 
 
		
#!/bin/sh 
case "$1" in 
        start) 
                /sbin/ldconfig -m /usr/local/lib/mysql 
                ;; 
        stop) 
                ;; 
        *) 
                echo "" 
                echo "Usage: `basename $0` { start | stop }" 
                echo "" 
                exit 64 
                ;; 
esac 
  |   Нынче он не инсталлится. Если ошибки будут продолжаться, при сборке других приложений из портов, то можно его добавить в автозагрузку, или, что грамотней, добавить путь в /etc/rc.conf (подробности можно найти здесь, поиск в странице, по ключевому слову ldconfig_paths). 
После чего продолжаем инсталляцию: 
 
		
/usr/ports/databases/mysql50-server/>make install && make clean
  |   По окончании инсталляции, стругаем конфиг для mysql - /usr/local/etc/my.cnf 
 
		
# Этот конфигурационный файл сделан на основе файла для маленьких
# систем - /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       = your_password
# Порт на котором висит MySQL
port            = 3306
# Сокет MySQL
socket          = /tmp/mysql.sock
# Опции MySQL-сервера
[mysqld]
# Порт
port            = 3306
# Адрес, который будем слушать (если вам не нужно подключаться к
# MySQL с других машин, то оставьте здесь 127.0.0.1)
bind-address    = 127.0.0.1
# Где лежит сокет
socket          = /tmp/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.log
log            = /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 = 8M
sort_buffer_size = 8M
[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M
[mysqlhotcopy]
# Допускать простой длительностью interactive_timeout секунд (вместо
# wait_timeout секунд) перед закрытием данного соединения.
interactive-timeout
# P.S. Большинство текста - это из мануала по MySQL 4.0, за который
# мы не так давно воевали на www.mysql.com (его убирали на некоторое
# время, типа он по старой версии, потому не актуален...
# но - отвоевали, вернули :))))
  |   C таким конфиг-файлом mysqld занимает в 6 раз меньше памяти, чем без него. Итак, запускаем: 
 
		
/usr/home/lissyara/>echo 'mysql_enable="YES"' >> /etc/rc.conf
/usr/home/lissyara/>/usr/local/etc/rc.d/mysql-server.sh start
Starting mysql.
/usr/home/lissyara/>
/usr/home/lissyara/>ps -axj | grep mysqld
mysql    44512     1 44510   504    0 S     p0    0:00,08 /bin/sh /usr/local/bin
mysql    44530 44512 44510   504    0 SN    p0    0:00,15 /usr/local/libexec/mys
mysql    44531 44530 44510   504    0 SN    p0    0:00,00 /usr/local/libexec/mys
mysql    44532 44531 44510   504    0 SN    p0    0:00,00 /usr/local/libexec/mys
mysql    44533 44531 44510   504    0 SN    p0    0:00,00 /usr/local/libexec/mys
root     44548   507 44547   504    2 S+    p0    0:00,02 grep mysqld
/usr/home/lissyara/>
  |   Так много процессов - потому как с тредами (на самом деле он один...). 
 
    С 5-кой разобрались. Теперь пример установки, для самой старой версии mysql, что есть в портах - 3.23. 
 
		
/usr/home/lissyara/>cd /usr/ports/databases/mysql323-server/
/usr/ports/databases/mysql323-server/>make && make install && make clean
===>  Vulnerability check disabled, database not found
You may use the following build options:
        WITH_CHARSET=charset    Define the primary built-in charset (latin1).
        WITH_XCHARSET=list      Define other built-in charsets (may be 'all').
        WITH_OPENSSL=yes        Enable secure connections.
        WITH_LINUXTHREADS=yes   Use the linuxthreads pthread library.
        WITH_PROC_SCOPE_PTH=yes Use process scope threads
                                (try it if you use libpthread).
        BUILD_OPTIMIZED=yes     Enable compiler optimizations
                                (use it if you need speed).
        BUILD_STATIC=yes        Build a static version of mysqld.
                                (use it if you need even more speed).
        WITHOUT_INNODB=yes      Disable support for InnoDB table handler.
===>  Extracting for mysql-server-3.23.59.n.20050301_3
^C
/usr/ports/databases/mysql323-server/>
  |   Чтож, опции, в большинстве своём, точно такие же, как и у 5.0. Соответсвенно правим файл /etc/make.conf (приведено без комментов, ибо нового ничё нет - смотрите предыдущий листинг) 
 
		
# Для некоторых, особо тупых приложений, лучше указать версию MySQL,
# что используется, тут. Но - для совсем тупых не поможет и это.
DEFAULT_MYSQL_VER=323
# Директория где лежат порты
PORTSDIR?=      /usr/ports
# для сервера
.if ${.CURDIR} == ${PORTSDIR}/databases/mysql323-server
BUILD_OPTIMIZED=yes
BUILD_STATIC=yes
# Единственный пункт, по которому нужны, наверно, пояснения.
# Просто без него у меня не заводилось...
#WITHOUT_INNODB=yes
.endif
# для клиента
.if ${.CURDIR} == ${PORTSDIR}/databases/mysql323-client
.endif
  |   После рихтовки /etc/make.conf снова запускаем компиляцию: 
 
		
/usr/ports/databases/mysql323-server/>make && make install && make clean
  |   Которая по окочании установки клиента вываливается с ошибкой, похожей на ту, что и у mysql 5.0: 
 
		
===>   Installing ldconfig configuration file
===>   Compressing manual pages for mysql-client-3.23.59.n.20050301_2
===>   Registering installation for mysql-client-3.23.59.n.20050301_2
===>   Returning to build of mysql-server-3.23.59.n.20050301_3
Error: shared library "mysqlclient.10" does not exist
*** Error code 1
Stop in /usr/ports/databases/mysql323-server.
/usr/ports/databases/mysql323-server/>
  |   Лечение тоже самое - перезагрузка, или 
 
		
/usr/home/lissyara/>/sbin/ldconfig -m /usr/local/lib/mysql
/usr/home/lissyara/>
  |   После чего всё нормально доинсталлируеся. Можно создавать конфиг /usr/local/etc/my.cnf 
 
		
# Этот конфигурационный файл сделан на основе файла для маленьких
# систем - /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       = your_password
# Порт на котором висит MySQL
port            = 3306
# Сокет MySQL
socket          = /tmp/mysql.sock
# Опции MySQL-сервера
[mysqld]
# Порт
port            = 3306
# Адрес, который будем слушать (если вам не нужно подключаться к
# MySQL с других машин, то оставьте здесь 127.0.0.1)
bind-address    = 127.0.0.1
# Где лежит сокет
socket          = /tmp/mysql.sock
# Не использовать средства системных блокировок.
skip-locking
# Вообще не слушать порты 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.log
log            = /var/log/mysql.log
# Указывает местоположение двоичного журнала обновлений,
# в котором будут вестись записи.
#log-bin=mysql-bin
[mysqldump]
# Если задан этот параметр, то обработчик таблицы при выполнении
# удаления не будет объединять индексы - в некоторых случаях это
# может ускорить данную операцию
quick
[mysql]
# Отключает автоматическое рехеширование. rehash следует использовать
# для получения хеша таблиц и полей. Это обеспечивает более
# быстрый старт mysql.
no-auto-rehash
# Опция, которую рекомендуется раскомментить начинающим :)
# Разрешает выполнять только операции UPDATE и DELETE, используя ключи.
#safe-updates
[isamchk]
key_buffer = 8M
sort_buffer_size = 8M
[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M
[mysqlhotcopy]
# Допускать простой длительностью interactive_timeout секунд (вместо
# wait_timeout секунд) перед закрытием данного соединения.
interactive-timeout
  |   Можно заметить, что отличия от 5.0 минимальны - отсутствуют опции буферов, да и всё, пожалуй. Запускаем: 
 
		
/usr/home/lissyara/>echo 'mysql_enable="YES"' >> /etc/rc.conf
/usr/home/lissyara/>/usr/local/etc/rc.d/mysql-server.sh start
Starting mysql.
/usr/home/lissyara/>ps -axj | grep mysql
mysql     8848     1  8846   504    0 S     p0    0:00,07 /bin/sh /usr/local/bi
mysql     8868  8848  8846   504    0 S     p0    0:00,06 /usr/local/libexec/my
root      8870   507  8869   504    2 L+    p0    0:00,01 grep mysql
root      8754  5368  8754  5344    1 S+    p1    0:00,02 tail -f /var/db/mysql
/usr/home/lissyara/>
  |   Всё пашет. 
 
Теперь общие вопросы. По дефолту, в MySQL заведено несколько пользователей, типа гостей, и прочих. Я их обычно удаляю - нефига гостям по БД шляться.... 
 
		
/usr/home/lissyara/>mysql --database=mysql --execute="SELECT COUNT(*) FROM user"
+----------+
| COUNT(*) |
+----------+
|        4 |
+----------+
/usr/home/lissyara/>mysql --database=mysql --execute="DELETE FROM user \
? WHERE User=''"
/usr/home/lissyara/>mysql --database=mysql --execute="SELECT COUNT(*) FROM user"
+----------+
| COUNT(*) |
+----------+
|        2 |
+----------+
/usr/home/lissyara/>mysql --database=mysql --execute="DELETE FROM user \
? WHERE Host != 'localhost'"
/usr/home/lissyara/>mysql --database=mysql --execute="SELECT COUNT(*) FROM user"
+----------+
| COUNT(*) |
+----------+
|        1 |
+----------+
/usr/home/lissyara/>
/usr/home/lissyara/>mysql --database=mysql --execute="UPDATE user SET \
? Password = PASSWORD('тут ввести пароль рута')"
/usr/home/lissyara/>mysql --database=mysql --execute="FLUSH privileges"
/usr/home/lissyara/>mysql --database=mysql --execute="SELECT * FROM user"
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
/usr/home/lissyara/>
  |   Всё. Без пароля к БД не добраться. Вообще, общая рекомендация - если плохо знаете MySQL - либо займитесь изучением, либо поставьте графический интерфейс, типа phpMyAdmin. Я вначале пошёл по второму пути, щас пытаюсь свернуть на первый :))) Единственное - не забывайте его запаролить. 
 
P.S. При проблемах (не запускается), смотрим лог ошибок: 
 
		
/usr/home/lissyara/>tail -f /var/db/mysql/`uname -a | awk '{print $2}'`.err
  |   
 
  
			
Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?t=3410.
  
			
			
			
			
				
					| 
						 размещено: 2006-07-08, 
				последнее обновление: 2008-07-21, 
				автор: lissyara 
					 | 
					
						
		
					 | 
				 
			 
			
			
			
					
 
	 
	
  
			
			
			 
		 | 
		
			
			 
		 | 
		
 
 
			
			
2014-07-27, lissyara 
gmirror  
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
 
2013-08-20, zentarim 
Scan+Print server FreeBSD 9 
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
 
2011-11-20, BlackCat 
Разъём на WiFi-карту 
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
 
2011-09-14, manefesto 
Настройка git+gitosis 
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh 
 
2011-08-14, zentarim 
Wi-FI роутер + DHCP + DNS 
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
 
2011-06-15, -ZG- 
Охранная система на FreeBSD+LPT 
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
 
2011-03-13, terminus 
ng_nat 
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
 
2011-02-20, Капитан 
Nagios+Digitemp 
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
 
2011-02-17, Le1 
Zyxel Configuration 
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
 
2011-02-16, fox 
hast carp zfs ucarp cluster 
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
 
2011-02-04, BlackCat 
Восстановление ZFS 
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
 
2011-02-03, Капитан 
1-Wire 
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
 
2011-01-28, Капитан 
Температура в серверной 
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
 
2011-01-21, m4rkell 
Syslog server 
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
 
2011-01-07, lissyara 
Canon/gphotofs 
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
 
2010-12-13, Al 
IPSec 
Описание принципов работы IPSEC и способов аутентификации.
 
2010-12-07, manefesto 
FreeBSD on flash 
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем  =)
 
2010-12-05, Fomalhaut 
root ZFS, GPT 
Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
 
2010-09-05, Cancer 
Настройка аудиоплеера на ximp3 
Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
 
2010-08-31, Cancer 
Установка и настройка OpenVPN 
На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
 
2010-08-25, manefesto 
freebsd lvm 
Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
 
2010-04-30, gonzo111 
proftpd file auth"a 
Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
 
2010-04-22, lissyara 
tw_cli 
Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
 
2010-04-14, fox 
MySQL Master+Master 
MySQL (Master Master) and (Master Slave) Как настроить репликацию…
 
2010-03-09, terminus 
DNS zones 
Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
 
2010-03-09, aspera 
Squid+AD (group access) 
Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
 
2010-03-02, BlackCat 
 Шлюз: Часть 4 
Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
 
2010-03-01, BlackCat 
 Шлюз: Часть 3 
Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
 
2010-03-01, BlackCat 
 Шлюз: Часть 2 
Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
 
2010-03-01, BlackCat 
 Шлюз: Часть 1 
Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
 
2010-02-23, Morty 
darkstat 
Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
 
2010-01-23, gonzo111 
squid+sams+sqstat 
Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
 
2009-12-19, schizoid 
mpd5 + radius + ng_car + Abills 
Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car
 
2009-11-16, lissyara 
UFS->ZFS 
Удалённая миграция с UFS на ZFS. Загрузка с раздела zfs. Настройка для работы с малым количеством памяти под архитектурой i386.
 
2009-11-13, gx_ua 
fusefs-ntfs  
Установка, настройка и использование fusefs-ntfs, драйвер NTFS, предназанченного для монтирования NTFS разделов под FreeBSD
 
2009-11-12, Morty 
LiveCD  
Создание собственного LiveCD с необходимыми вам изменениями, автоматизирование данного процесса, а так же вариант скоростной сборки СД.
 
2009-09-27, lissyara 
Samba как PDC 
Контроллер домена - аналог M$ NT4 домена под самбой, без использования LDAP и прочей хиромантии. Просто и быстро =)
 
2009-08-30, terminus 
ipfw nat 
Подробное руководство по ipfw nat, сложные случаи конфигурации.
 
2009-08-24, levantuev 
HotSpot 
Установка Hotspot системы в общественное заведение.
 
2009-08-18, lissyara 
diskless 
Создание бездисковых терминалов под управлением FreeBSD - с загрузкой по сети. Используются для старта rdesktop и подключения к виндовому серверу терминалов.
 
2009-07-29, BAV_Lug 
Видеонаблюдение 
Настройка бюджетного варианта видеонаблюдения на удаленном объекте
 
2009-07-22, Cancer 
OpenLDAP адресная книга 
Настройка и создание адресной книги на базе OpenLDAP + phpLDAPadmin
 
2009-06-30, SergeySL 
AimSniff 
Руководство по созданию системы мониторинга ICQ-переписки на базе AimSniff, использующей базу данных MySQL для хранения и Web-интерфейс WAS (Web Aim Sniff) для просмотра перехваченных сообщений
 
2009-06-25, atrium 
Управление правами доступа 
Полномочия пользователей и файлов, принадлежащих им, формирует концепцию ОС UNIX. 
 
2009-06-16, DNK 
Exim+PgSQL 
Установка почтовой системы exim+pgsql на FreeBSD 7.1
 
2009-05-30, mvalery 
HDD(mbr) -> HDD(gpt) 
Как разбить диск размером более 2TB на разделы, сделать загрузочным, а  затем перенести на него информацию с рабочей системы — донора.
 
2009-05-22, Cancer 
SendXMPP 
Отправка сообщений на Джаббер сервер по средствам SendXMPP
 
2009-05-11, Raven2000 
Network UPS Tools 
Network UPS Tools представляет собой набор программ, которые обеспечивают общий
интерфейс для мониторинга и администрирование UPS оборудования. 
 
2009-04-29, m0ps 
IPSEC over GRE with RIP 
Пример IPSEC over GRE и динамическим роутингом (RIP), с ADSL в качестве последней мили на оборудовании Cisco.
 
2009-04-24, WhiteBear777 
qemu network 
Появилась необходимость поставить на БСД эмулятор(qemu) и настроить в качестве гостевой ОС Windows XP, предоставив ей выход в  локалку и в сеть internet...
 
2009-04-22, vp 
freebsd + huawei 162 gsm modem 
В статье описывается простой способ подключения модема huawei 162 к freebsd + первичная настройка smstools
 
2009-04-12, mvalery 
Мониторинг RAID 
Мониторинг из командной строки RAID компаний AMCC 3ware, HighPoint, Dell (Perc 5/i и PERC 6/i) и LSI (MegaRAID SAS 8408E и SAS1078)
 
2009-04-09, texnotronic 
RAID1 via LAN 
Функциональности DRBD во FreeBSD можно добиться примонтировав блочное устройство по сети при помощи GEOM Gate (ggate) и добавив его в зеркало с локальным диском средствами gmirror.
 
2009-04-03, Raven2000 
Оптимизация хоста для CMS 
В последнее время на старый и не очень быстрый ПК (Celeron 800 RAM 256) мною было навешано с десяток сайтов и некоторые были из серии тяжелых CMS. И так нам дано FreeBSD 7.1 и ~10 сайтов/CMS.
 
2009-04-01, atrium 
VSFTPD + AD && MySQL 
Настройка самого безопасного сервера FTP - vsftpd.
 
2009-03-31, Dron 
Peoplenet + C-motech (3G) 
Описание подключения к сети Peoplenet посредством 3G модема С-motech CCu-650U на FreeBSD
 
2009-03-25, lissyara 
mod_auth_external 
mod_auth_external - авторизация пользователей в apache c помощью внешней программы - например, системных пользователей.
 
2009-03-24, gx_ua 
Lightsquid 
Частично lightsquid может заменить sams: быстрая и простая инсталляция, быстрый парсер, cgi скрипт для динамической генерации отчета, нет привязки к БД, различные графические отчеты, мультиязычный инт
 
2009-03-18, LHC 
Установка Zabbix-1.6 
Установка и первоначальная настройка системы мониторинга Zabbix (версия 1.6)
 
			
			 
		 | 
	
	
Комментарии пользователей [53 шт.]