![]() |
◊ |
| www.udomlya.ru | Медиа-Центр | Удомля КТВ | Старый форум | |
|
|||||||
| Свободное ПО Обсуждаем Linux, *BSD и другое свободное ПО |
|
|
Опции темы | Опции просмотра |
|
|
#1 |
|
Местный
|
Помнится, ещё на стром форуме заходили разговоры про установку и использование сервера баз данных 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 |
|
|
|
|
#2 |
|
Местный
|
Для начала, установим наш сервер.
На сегодняшний день актуальной является ветка 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 Они-то нам (в первую очередь) и нужны! Установим их: Код:
rpm -Uhv MySQL-client-5.0.22-*.rpm MySQL-server-5.0.22-*.rpm В том случае, если у вас не RPM-основанный дистрибутив (Slackware и его клоны, Gentoo и его клоны), или и не Linux вовсе (FreeBSD, OpenBSD, NetBSD, DragonflyBSD и т.д.), то некоторые операции, которые выполняет RPM, придётся проделать вручную. Для начала извлечём архив исходных текстов сервера из пакета RPM (поможет нам в этом стаый добрый Midnight Commander или утилита rpm2cpio). Заполучив архив, распаковываем его: Код:
tar xvfz mysql-5.0.22.tar.gz Код:
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 . Код:
./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 Код:
cp support-files/mysql.server /etc/rc.d/rc.mysql chmod 755 /etc/rc.d/rc.mysql Теперь запустим наш сервер! Для RPM-based: Код:
/etc/init.d/mysql start Код:
/etc/rc.d/rc.mysql start Код:
Starting MySQL: [OK]
__________________
grumbler Последний раз редактировалось grumbler; 15.07.2006 в 22:15. |
|
|
|
|
#3 |
|
Местный
|
После установки и успешного запуска сервера первое, что необходимо сделать, -- это задать пароль суперпользователя и настроить доступ.
В таблице mysql.user свежеустановленного мускула имеются две учётные записи:
Задаём пароль суперпользователя: Код:
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. |
|
|
|
|
#4 |
|
Местный
|
Простая, казалось бы, операция по добавлению новых пользователей и назначению им прав доступа при беглом взгляде на длину и количество комманд SQL, могут напугать неподготовленного пользователя...
MySQL Administrator избавит нас от таких проблем! Добавляем нового пользователя. Перейдя в раздел User Administration, нажимаем пимпу New User и вводим имя пользователя и его пароль. Кликая правой кнопкой мыши на имени вновь созданного пользователя в правом нижнем окошке (User Accounts), добавляем имена хостов, с которых он может подключаться к серверу. ![]() Перейдя во вкладку Shema Privileges, указываем операции, которые дозволено выполнять данному пользователю при работе с указанной базой данных. ![]() При желании можно указать более детальные привилегии, например для каждой конкретной таблицы и даже для каждого столбца (поля). Эти привилегии прописываются соответственно в таблицы mysql.tables_priv и mysql.columns_priv. <АХТУНГ!>При ручном изменении привилегий не забудьте затем выполнить команду FLUSH PRIVILEGES для того, чтобы они всупили в силу!</АХТУНГ!>
__________________
grumbler |
|
|
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|