Удомельский форум   ◊
www.udomlya.ru | Медиа-Центр | Удомля КТВ | Старый форум

Вернуться   Удомельский форум > Закрытые разделы (Read Only) > Свободное ПО
Справка Пользователи Календарь Сообщения за день
Свободное ПО Обсуждаем Linux, *BSD и другое свободное ПО

 
 
Опции темы Опции просмотра
Старый 15.07.2006, 21:17   #1
grumbler
Местный
 
Регистрация: 27.04.2006
Адрес: не так далеко...)
Сообщений: 209
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Отправить сообщение для grumbler с помощью ICQ
По умолчанию Сервер БД: MySQL

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

Конечно, MySQL не предоставит вам той мощи и функциональности, что и Oracle (с ним разве что PostgreSQL сразится может)...
А вы используете хоть 30% всех возможностей вашей СУБД?!

В свою очередь, MySQL -- это надёжный, быстрый и простой в эксплуатации сервер БД.
К тому же он пусть медленно, но верно обзаводится новой функциональностью и увеличивает производительность.
А как говорят сами разработчики: "Нет ничего, что бы мы не хотели реализовать в нашем сервере!".

Итак, посмотрим, на что способен МуСКуЛ (имя MySQL в простонародии).
На данный момент можно сказать, что существуют и поддерживаются 5 основных веток версий MySQL.
Это версии: 3.23, 4.0, 4.1, 5.0 и 5.1 (бета).
Вот перечень наиболее ярких нововведений в них:

ветка версий 4.0
- c появлением версии 4.0 мускул "поднакачал" свои мышцы и стал быстрым, как чёрт (при использовании механизма MyISAM);
- механизм хранения InnoBD (поддержка транзакций) стал предлагаться в качестве стандарта;
- мускул стал поддерживать оператор UNION (объединения) стандартного языка SQL;
- усовершенствованы поисковые свойства FULLTEXT;

ветка версий 4.1
- в версии 4.1 наконец-то реализованы подзапросы;
- R-деревья (RTREE) для механизма MyISAM;
- полная поддержка UNICODE;

ветка версий 5.0
- ура! в пятой версии появились хранимые процедуры и функции (в соответствии с SQL:2003);
- теперь можно использовать виды (VIEW);
- появилась поддержка курсоров (посредством оператора DECLARE);

ветка версий 5.1 (на данный момент БЕТА)
- полная поддержка внешних ключей (FOREIGN KEY) для всех типов таблиц (а не только для InnoDB, как раньше);
- реализованы триггеры;
- увеличение скорости за счёт перехода на новый формат файлов определения таблиц.

а также "планов громадье" на будущее!
__________________
grumbler
grumbler вне форума  
Старый 15.07.2006, 22:05   #2
grumbler
Местный
 
Регистрация: 27.04.2006
Адрес: не так далеко...)
Сообщений: 209
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Отправить сообщение для grumbler с помощью ICQ
По умолчанию Установка MySQL

Для начала, установим наш сервер.
На сегодняшний день актуальной является ветка 5.0 и версия 5.0.22.

Скачать её можно здесь:
под *NIX: ftp://10.0.75.5/pub/software/free/ni...0.22-0.src.rpm
под винды: ftp://10.0.75.5/pub/software/free/wi...0.22-win32.zip

Под Linux я качаю только сырцы (исходные тексты) сервера.
Если вы используете RPM-based дистрибутив, то для компиляции необходимо проделать следующие манипуляции:
Код:
rpm -i MySQL-5.0.22-0.src.rpm
cd /usr/src/<имя_вашего_дистрибутива>/SPECS
rpmbuild -bb --clean --target=<название_архитектуры_компутера> mysql-5.0.22-static.spec
После продолжительной компиляции и тестов в каталоге /usr/src/<имя_вашего_дистрибутива>/RPMS/<название_архитектуры> вы обнаружите несколько бинарных пакетов, среди которых будут MySQL-client-5.0.22-*.rpm и MySQL-server-5.0.22-*.rpm.
Они-то нам (в первую очередь) и нужны!
Установим их:
Код:
rpm -Uhv MySQL-client-5.0.22-*.rpm MySQL-server-5.0.22-*.rpm
Примечание: вместо * должно быть полное имя файла, например, MySQL-server-5.0.22-0.glibc23.i686.rpm.

В том случае, если у вас не RPM-основанный дистрибутив (Slackware и его клоны, Gentoo и его клоны), или и не Linux вовсе (FreeBSD, OpenBSD, NetBSD, DragonflyBSD и т.д.), то некоторые операции, которые выполняет RPM, придётся проделать вручную.
Для начала извлечём архив исходных текстов сервера из пакета RPM (поможет нам в этом стаый добрый Midnight Commander или утилита rpm2cpio).
Заполучив архив, распаковываем его:
Код:
tar xvfz mysql-5.0.22.tar.gz
Заходим внутрь, читаем ридмишку INSTALL-SOURCE и производим следующие телодвижения:
Код:
groupadd mysql
useradd -g mysql mysql
./configure --prefix=/usr/local/mysql
make
make install # или checkinstall
cp support-files/my-medium.cnf /etc/my.cnf
cd /usr/local/mysql
bin/mysql_install_db --user=mysql
chown -R root .
chown -R mysql var
chgrp -R mysql .
Если кто-то недоволен расположением сервера в директории /usr/local/mysql, можно сценарию configure задать соответствующие параметры для размещения основных компонент сервера в соответствующих системных каталогах, например, вот так:
Код:
./configure --prefix=/usr/local/mysql --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --libdir=/usr/lib --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/mysql --includedir=/usr/include --infodir=/usr/info --mandir=/usr/man --with-charset=utf8 --with-server-suffix=-slackware
Далее копируем предлагаемый разработчиками стартовый сценарий в каталог с таковыми. Наприемр, для Slackware это выглядит так:
Код:
cp support-files/mysql.server /etc/rc.d/rc.mysql
chmod 755 /etc/rc.d/rc.mysql
Иногда требуется внести изменения в системные стартовые сценарии (/etc/rc.d/rc.M и /etc/rc.d/rc.6) для автоматического старта и останова сервера.

Теперь запустим наш сервер!
Для RPM-based:
Код:
/etc/init.d/mysql start
Для не RPM:
Код:
/etc/rc.d/rc.mysql start
Если вы увидели что-то вроде
Код:
Starting MySQL: [OK]
значит у вас всё получилось -- сервер работает!
__________________
grumbler

Последний раз редактировалось grumbler; 15.07.2006 в 22:15.
grumbler вне форума  
Старый 21.07.2006, 00:38   #3
grumbler
Местный
 
Регистрация: 27.04.2006
Адрес: не так далеко...)
Сообщений: 209
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Отправить сообщение для grumbler с помощью ICQ
По умолчанию Администрирование MySQL

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

В таблице mysql.user свежеустановленного мускула имеются две учётные записи:
  • безымянный пользователь (без пароля), кот. может подключаться к серверу как с любого, так и с локального хоста, но только к базе данных test.
  • суперпользователь (root). на данный момент он тоже БЕЗ ПАРОЛЯ!

Задаём пароль суперпользователя:
Код:
mysql -h localhost -u root
USE mysql
UPDATE user SET password = PASSWORD('новый_пароль_root') WHERE user LIKE 'root';
\q
Теперь для подключения к серверу пользуемся коммандой
Код:
mysql -u root -p
и при запросе пароля вводим тот самый пароль.

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

Взять эту тулзу можно здесь:
под линух 32-битный: ftp://10.0.75.5/pub/software/free/ni....10-1-i386.rpm
под линух 64-битный: ftp://10.0.75.5/pub/software/free/ni...-x86_64.tar.gz
под вЫньдоувз 32-битную: ftp://10.0.75.5/pub/software/free/wi...-1.1.9-win.msi
сырцы: ftp://10.0.75.5/pub/software/free/ni...1.10-1-src.rpm
Однако по поводу сборки из сырцов сразу предупрежу: для удовлетворения зависимостей необходимы пакеты pcre-devel, libglade2-devel и редко входящий в состав дистрибутивов gtkmm24-devel (найти можно на второй стороне первого журнального диска LXF в разделе Essentials).

Устанавливаем её и пробуем подключиться к серверу.


Если мы подключаемся к удалённому серверу, то имеет смысл кликнуть на кнопке Details и выставить 'галочку' Compress connection data для уменьшения объёмв трафика.


Ещё одно замечание по поводу удалённых подключений: такие функции, как управление сервисом, изменение его конфигурации и просмотр логов будут недоступны при удалённом коннекте.


При подключении же к серверу на локальной машине -- доступны все возможности административной утилиты.

__________________
grumbler

Последний раз редактировалось grumbler; 21.07.2006 в 16:30.
grumbler вне форума  
Старый 21.07.2006, 00:59   #4
grumbler
Местный
 
Регистрация: 27.04.2006
Адрес: не так далеко...)
Сообщений: 209
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Отправить сообщение для grumbler с помощью ICQ
По умолчанию Добавление новых пользователей

Простая, казалось бы, операция по добавлению новых пользователей и назначению им прав доступа при беглом взгляде на длину и количество комманд SQL, могут напугать неподготовленного пользователя...
MySQL Administrator избавит нас от таких проблем!

Добавляем нового пользователя.
Перейдя в раздел User Administration, нажимаем пимпу New User и вводим имя пользователя и его пароль. Кликая правой кнопкой мыши на имени вновь созданного пользователя в правом нижнем окошке (User Accounts), добавляем имена хостов, с которых он может подключаться к серверу.


Перейдя во вкладку Shema Privileges, указываем операции, которые дозволено выполнять данному пользователю при работе с указанной базой данных.


При желании можно указать более детальные привилегии, например для каждой конкретной таблицы и даже для каждого столбца (поля). Эти привилегии прописываются соответственно в таблицы mysql.tables_priv и mysql.columns_priv.
<АХТУНГ!>При ручном изменении привилегий не забудьте затем выполнить команду FLUSH PRIVILEGES для того, чтобы они всупили в силу!</АХТУНГ!>
__________________
grumbler
grumbler вне форума  
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 05:54. Часовой пояс GMT +3.


Для улучшения работы сайта и его взаимодействия с пользователями мы используем файлы cookie. Продолжая работу с сайтом, Вы разрешаете использование cookie-файлов. Вы всегда можете отключить файлы cookie в настройках Вашего браузера.
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot