Ручная установка MySQL сервера в ОС Windows. Сервер mysql
Установка сервера MySQL 5.0
Доброго времени суток! В прошлый раз я рассказывал, как настроить Apache для работы с PHP как с модулем, а сегодня я расскажу как установить и настроить MySQL 5.0. Также я расскажу о том, как прикрутить сервер баз данных MySQL к PHP. Как и в прошлых уроках, сделаю подробные скриншоты, основных этапов. Приступим!
Раз вы читаете этот блог, то хотите создавать динамические сайты. Для этого нам понадобиться база данных MySQL.
Давайте скачаем стабильную версию MySQL для Windows на официальном сайте(45.3 Mb):
Запускаем файл Setup, который лежит внутри архива:
В следующем окне выбираем первый пункт – типичную установку:
Можно приступать к установке. Путь к папке куда будет установлена программа выделена цветом, нажимаем инстал:
Ждем пока программа установится. После установки вам покажут рекламу усовершенствованной коммерческой версии продукта – MySQL Enterprise Server. Нам вполне хватит бесплатной версии. Просто нажимаем 2 раза Далее:
И снова нажимаем Next:
Теперь мы должны настроить MySQL:
Нажимаем Finish и попадаем в следующий диалог настройки. На первом шаге нашимаем Next. На следующей картинке выбираем детальную настройку:
На следующем этапе мы выбираем тип сервера. Чтобы MySQL сервер потреблял у вас меньше ресурсов компьютера выбираем тип – Developer Machine:
Дальше мы должны выбрать будет ли MySQL использовать транзакционный режим. Мы выберен универсальный режим, одинаково хорошо работающий как в транзакционном режиме, так и в стандартном:
Далее мы должны указать путь, где будут храниться файлы базы данных. По умочанию базы данных хранятся там же, где и сервер базы данных (на диске C:). В случае, если у вас слетит Windows, то вы потеряете данные. Поэтому я рекомендую указать путь на другом диске, например D:
На следующем этапе указываем возможное количество одновременных соединений с MySQL. Настройки по умолчанию (20 одновременных соединений) нам подойдут:
На следующем этапе настраиваем сетевые опции. Здесь указывается номер порта (оставляем выбранный по умолчанию, на котором будет работать MySQL. Также не забудьте включить галочку “Add firewall exception for this post” (чтобы firewall разрешил использовать этот порт):
На следующем этапе нужно выбрать кодировку текста для баз данных MySQL, которая будет использоваться по умолчанию. Чтобы не было проблем при работе с русскими символами нужно выбрать utf8, так как показано на рисунке:
Следующий этап – настройка MySQL как службы Windows. Здесь рекомендую отметить флажок – Добавить путь, где находиться MySQL в переменные окружения Windows. Это может вам пригодиться, если будете работать с MySQL из командной строки:
Теперь необходимо придумать пароль для MySQL. Обязательно запомните его, а лучше запишите. В противном случае вам придется заново устанавливать MySQL, т.к. вы не сможете нигде его посмотреть. Остальные галочки в целях безопасности не ставим:
На следующем этапе запускается программа, которая на основе введенных вами файлов создает конфигурационный файл MySQL и запускает сервис MySQL:
Если вы все сделали правильно, то должны увидеть следующее:
afirewall.ru
включение сервера и доступ к его администрированию – QNAP Россия и СНГ
MySQL — свободная реляционная система управления базами данных. MySQL является решением для малых и средних приложений. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.
Множество приложений, такие как MediaWiki, Joomla, WordPress, Asterisk поддерживают таблицы MySQL и нуждаются в них для полноценной работы.
Чтобы включить сервер откройте веб-интерфейс QNAP Turbo NAS и зайдите в меню Панель Управления > Серверы приложений > Сервер MySQL. Установите галочки Включить сервер MySQL и установите галочку Включить сеть TCP/IP, если сервер будут использовать приложения в локальной сети или Интернете.
Нажмите Применить.
Теперь сервер MySQL включен и работает. Этого достаточно для работы некоторых приложений.
Для управления сервером понадобится установить phpMyAdmin.
PHPMyAdmin — веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. PHPMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБД MySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс.
На сегодняшний день PHPMyAdmin широко применяется на практике. Последнее связано с тем, что разработчики интенсивно развивают свой продукт, учитывая все нововведения СУБД MySQL.
Приложение распространяется под лицензией GNU General Public License и поэтому многие другие разработчики интегрируют его в свои разработки, например XAMPP, Denwer, AppServ, Open Server.
Установить phpMyAdmin можно через App Center. Откройте App Сenter через главное меню, или запустив ярлык на рабочем столе веб-конфигуратора.
Введите часть названия phpMyAdmin в строку поиска. Нажмите Добавить на карточке приложения.
Дождитесь, пока приложение пройдет все стадии установки.
Проверьте включен ли у вас веб-сервер. Если нет, то включите. Зайдите в меню Панель управления > Серверы приложений > Веб-сервер. Установите галочку Включить, нажмите Применить.
Запустите приложение phpMyAdmin через главное меню, или кликнув на ярлык на рабочем столе веб-конфигуратора.
Приложение откроется в новой вкладке браузера. Приложение использует тот порт, который назначен на вашем QNAP Turbo NAS для веб-сервера (по умолчанию 80). Это следует учитывать, если вы хотите предоставить удаленный доступ из Интернета к этому приложению.
Логин по умолчанию root, пароль по умолчанию admin.
Можно приступать к редактированию базы.
В нашей базе знаний есть статьи по схожим темам:
Полезные дополнительные ссылки:
Установка сервера БД MySQL | Одминский блог
30 Dec 2009 | Автор: anchous |Сейчас, в преддверии всяких разных настроек, типо почтарей, шейперов, сислогов и прочее, мы будем ставить open-sourse сервер БД от компании Sun MySQL. С использованием MySQL работа этих сервисов упрощается и функционирование значительно ускоряется. Писать о мускуле можно бесконечно, посему я этого делать не буду, если есть желание почитать, то это можно сделать на оффсайте. Естественно предполагается, что перед установкой, мы полностью заточили систему и обновили порты.
Итак установка мускуля. Ставить будем, актуальную на данный момент, версию MySQL 5.1.41. Существует три вида подобной установки и я пойду сверху вниз по мере усложнения.
1. Первый вид, наиболее простой и незатратный. Мы просто скачиваем с офф.сайта полностью откомпилированный сервак и распаковываем его у себя на сервере. Откровенно говоря я больше предпочитаю этот вариант поскольку он наиболее быстрый и надежный, тем более думаю что инженеры Sun однозначно не хуже меня соберут необходимый продукт. Тем более что этот способ позволяет получить наиболее актуальную версию продукта, более свежую, чем будет установлена, например, из портов. Единственно что, он устанавливается в максимальной комплектации и идет с подключением всех возможных модулей.
# wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.41-freebsd7.0-i386.tar.gz/from/http://www.mirrorservice.org/sites/ftp.mysql.com/# tar -xzvf mysql-5.1.41-freebsd7.0-i386.tar.gz# mv ./mysql-5.1.41-freebsd7.0-i386 /usr/local/mysql
Добавляем в систему пользователя и группу от которой будет работать демон mysqld, наречем его mysql. Зададим ему права на папку хранения баа данных, по умолчанию, и создадим первичный комплект БД MySQL.
# cd /usr/local/mysql# chown -R mysql:mysql /usr/local/mysql/*# scripts/mysql_install_db –user=mysql# chown -R root .# chown -R mysql data
Прописываем скрипт запуска сервера# cp support-files/mysql.server /usr/local/etc/rc.d/
2. Этот способ lyssara-style, т.е. установка из портов. Выбираем версию сервера 5.1, на данный момент актуальной является версия 5.1.41
# cd /usr/ports/databases/mysql51-server/# make && make install && make clean
##### Используемые по умолчанию параметры установки #####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_THR_ALARM=yes Disable signals (this reduces kernel lockcontention on SMP, but has the side effectthat you can’t kill clients that are sleeping).WITHOUT_INNODB=yes Disable support for InnoDB table handler.WITH_ARCHIVE=yes Enable support for Archive Storage Engine.WITH_CSV=yes Enable support for CSV Storage Engine.WITH_FEDERATED=yes Enable support for Federated Storage Engine.WITH_NDB=yes Enable support for NDB Cluster.#####################################################Смотрим файл Makefile и выбираем те параметры что интересуют нас и записываем их в /etc/make.conf У меня получилось следующее:###########
.if ${.CURDIR} == ${PORTSDIR}/databases/mysql51-serverWITH_CHARSET=utf8WITH_XCHARSET=allWITH_COLLATION=uft8_binWITH_LINUXTHREADS=yesBUILD_OPTIMIZED=yesBUILD_STATIC=yesWITHOUT_INNODB=no.endif.if ${.CURDIR} == ${PORTSDIR}/databases/mysql54-clientWITH_CHARSET=utf8WITH_COLLATION=utf8_binBUILD_OPTIMIZED=yes.endif
###########Копируем скрипт загрузки в rc.d# cp /usr/local/share/mysql/mysql.server /usr/local/etc/rc.d/
3. И наконец последний. Из все предыдущих он наиболее родной для юникса, но при этом наиболее заковыристый. Но ведь настоящие программеры пишут в блокноте Итак скачиваем сырцы и устанавливаем в систему. Этот способ наиболее гибкий, т.к. можно варьировать всевозможные конфигурации, как и в случае с портами, но сырцы реже попадаются кривыми, нежели порты.
# tar -xzvf mysql-5.1.41.tar.gz# cd mysql-5.1.41Смотрим доступные для установки опции# ./configure –helpСоздаем шаманскую фразу призывающую демона MySQL снизойти на наш сервер# ./configure –prefix=/usr/local/mysql –localstatedir=/usr/local/mysql/data –with-mysqld-user=mysql –with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock –with-charset=utf8 –with-extra-charsets=all –with-error-inject# make && make install && make clean# sh scripts/mysql_install_db
Теперь после того как мы поставили MySQL всеми этими различными способами, переходим к правке конфиг файла# vi /usr/local/etc/my.cnf####### Подробные описания параметров на офф.сайтеMySQL
# Раздел настроек клиента MySQL[client]# Указываем сокет сервера, к которому следует обращаться.# Можно также указать порт, на котором будет крутиться сервер,# но поскольку мы планируем использовать сервер MySQL# для локальных баз, то закомментируем эту директиву# port = 3306socket = /tmp/mysql.sock# Указываем пароль для подключения к БД, если используем# password = your_password
# Настройки сервера MySQL[mysqld]# Расположение баз данных MySQLdatadir=/usr/local/mysql/base# Расположение сокетаsocket=/tmp/mysql.sock# Пользователь от которого запускается демон MySQLuser=mysql# Адрес и порт на которых демон слушает обращения (для локальной базы# оставляем 127.0.0.1 или не используем вовсе)bind-address = 127.0.0.1# port = 3306# Размер блока для таблиц типа MyISAM- тот буфер памяти# который система использует для индексирования. Максимальный размер# на 32-битных платформах 4Gb. Обычно задают порядка# 25% размера оперативной памяти.key_buffer_size=50M# Максимальный размер пакета. Изначально размер пакета# задается параметром net_buffer_length, но в случае необходимости# может возрасти до max_allowed_packet.# Этот параметр, по умолчанию, задается небольшого значения,# для отлова больших (предположительно ошибочных) пакетов.max_allowed_packet = 1M# Количество максимальных разрешенных клиентских сессий.# По умолчанию этот параметр равен 100max_connections=300# Увеличение этого параметра увеличивает количество# дискриптеров необходимых для mysqld.# Выяснить необходимость увеличения табличного кэша,# можно путем проверки статуса Opened_tablestable_cache = 4# Каждому потоку, производящему операцию сортировки,# выделяется буфер заданного размера. Увеличение этого параметра# ускоряет выполнение операций ORDER BY и GROUP BYsort_buffer_size = 1M# Каждому потоку производящему операцию последовательного сканирования,# выделяется буфер заданного (в байтах) размера,# для каждой сканируемой таблицы.# При множественных последовательных сканированиях, значение параметра# имеет смысл увеличить, т.к. по умолчанию он равен 131072.read_buffer_size = 1M# При сортировке прочтенных строк происзводится операция ключевой сортировки,# при которой строка считывается через заданный буфер,# во избежании поиска на диске.# Большое значение данного параметра способно значительно увеличить# производительность операции ORDER BY.read_rnd_buffer_size = 256K# Каждый клиентский поток соотносится с буфером соединения и# результирующим буфером. Оба они имеют размер заданный данным параметром,# но при необходимости могут динамически увеличиваться,# вплоть до величины заданной параметром max_allowed_packet.# Каждый результирующий буфер сокращается до величины net_buffer_length# после каждого SQL отчета.net_buffer_length = 2K# Этим параметром задается размер стека для каждого потока.# Большое количество ограничений, обнаруживаемых тестом crash-me,# зависит от значения этого параметра.# Значения по умолчанию (192Kb) достаточно для нормальных операций.thread_stack = 64K# Не использовать системные блокировкиskip-locking# Данный параметр, в режиме ON, используется для работы локальной БД,# т.е. сервер MySQL не использует стек TCP/IP,# а работает только через файл сокета.# Данный параметр задается при конфигурации опцией# –skip-networking (как и все доступные опции)skip-networking# Не резолвить доменные имена клиентов, и использовать только IP.# Если используется этот параметр то поле Host в таблице# разрешений (grant table) должно содержать только IP адреса или localhostskip-name-resolve# Отключение поддержки BDB (Berkeley DB), в том случае если нет# необходимости поддержки BDB таблиц. Этот параметр позволяет сэкономить# память и тем самым ускорить выполение некоторых операций.skip-bdb# Путь хранения лог файла (у пользователя mysql должны быть права на запись)log-error=/var/log/mysql.errors
##########################################################
Вроде как все готово, можно запускать в плавание. Первый запуск осуществим командой:# bin/mysqld_safe –user=mysql &Дальнейшие манипуляции с сервером MySQL будем производить посредством запускающего скрипта# /usr/local/etc/rc.d/mysql-server [fast|force|one](start|stop|restart|rcvar|status|poll)Смотрим- все ли у нас запустилось:# ps -axj | grep mysql
И начинаем размышлять, что теперь к этому серверу мы можем прикрутить.
VN:F [1.9.21_1169]
Rating: 4.0/10 (1 vote cast)
VN:F [1.9.21_1169]
Установка сервера БД MySQL, 4.0 out of 10 based on 1 ratingТеги: mysql, port, sql, базы, буфер, таблица
odminblog.ru
MYSQL server (стр. 1 из 5)
C одержание
Введение……………………………………………………………………………4
1. Общее описание, запуск и настройка
прав доступа к базам данных MySQL……………………….……..…..5
2. Команды пакета MySQL……………………………………………….…..10
2.1. Основные команды………………...…………………………………..11
2.2. Дополнительные команды…………………...………………….…….23
3. Настройка mysqld (серверная часть пакета MySQL)…………………….27
4. Возможность языка Perl для работы с MySQL сервером…………...…..29
Заключение……………………………………………..………………..……….31
Список литературы………………………………………….…………………..33
Введение.
На сегодняшний день СУБД MySQL является одной из самых известных, надежных и быстрых из всего семейства существующих СУБД. Почему именно она? Одной из причин являются правила ее распространения — за нее не надо платить деньги и распространяется она вместе со своими исходными текстами, другая причина – это то, что MySQL относительно быстрая СУБД. PostgreSql, например, также распространяется под лицензией *GNU GPL, но она не получила столь широкого распространения. Одна из причин — это заметная медлительность. Итак, две главные причины популярности MySQL: цена и производительность.
MySQL написан под десятки видов операционных систем. Это и FreeBSD, OpenBSD, MacOS, OS/2, SunOS, Win9x/00/NT и Linux. Сегодня MySQL особенно распространена на платформах Linux и Windows. Причем на последней встречается гораздо реже.
Принцип работы СУБД MySQL аналогичен принципу работы любой СУБД, использующей SQL (Structured Query Language, язык структурированных запросов) в качестве командного языка для создания/удаления баз данных, таблиц, для пополнения таблиц данными, для осуществления выборки данных.
Целью данной работы является описание конфигурирования, администрирования и программирования СУБД MySQL и создание программы иллюстрирующей возможности MySQL.
1. Общее описание, запуск и настройка прав доступа к
базам данных M у SQL .
MySQL, как и любая другая СУБД представляет собой программу-сервер, которая находится в памяти компьютера и обслуживает TCP порт. В случае с MySQL, номером порта будет являться число 3306. А клиентская программа, будь то CGI-приложение на Perl либо программный продукт на C, соединяется с СУБД по этому порту и посылает ему строчки на SQL. Тот в свою очередь их интерпретирует, выполняя необходимые действия, и отсылает результаты запроса обратно клиенту. Таким способом происходит общение сервера баз данных с клиентскими программами.
Для запуска MуSQL-сервера необходимо выполнить файл mysqld.exe. Сервер запускается как безоконный фоновый процесс. При этом он остается в памяти и обрабатывает запросы от клиентских приложений.
Для остановки сервера следует выполнить команду:
mysqladmin -u root shutdown.
Если сервер не был остановлен корректно, то при последующем запуске в файле mysql.err будет добавлена запись о некорректном завершении. Корректная остановка сервера необходима для сохранения всех данных, которые находятся в кэшах MySQL.
MуSQL имеет развитую систему доступа к базам данных. Пользователю базы данных может быть предоставлен доступ ко всей базе данных, отдельным таблицам и отдельным столбцам таблиц. Имеется разграничение на действия, которые может производить пользователь с записями. Для организации такой сложной (на первый взгляд) структуры доступа используется несколько таблиц в специальной базе данных. На основании значений этих таблиц выстраивается политика предоставления доступа.
База данных, которую сервер MуSQL использует для хранения внутренней информации о пользователях, по умолчанию имеет имя mуsql. В этой базе данных определены таблицы для хранения информации пользовательских учетных записей. Содержание БД mysql в таблице 1.1.
Таблица 1.1. Список таблиц прав доступа
Проверка прав доступа производится в порядке, указанном в таблице 1.1. Прежде всего проверяется, существует ли пользователь и какие возможности он имеет при управлении базой данных (таблица1.2.).
Таблица 1.2. Поля таблицы user
Поля с типом Enum ( ‘N’, ‘Y’ ) считаются разрешенными, если установлено значение Y, и неразрешенными, если установлено значение N.
Для администратора сервера MуSQL необходимы все привилегии, для обычных пользователей в данной таблице обычно не разрешена ни одна из привилегии, т. е. Обычные пользователи не могут изменять конфигурацию сервера MySQL. Исключением можно считать привилегии File_priv, если пользователь активно работает с файловой системой.
Поле host может быть описано как IP-адрес или имя, а также может быть пустым. В имени компьютера и в имени пользователя разрешается применение регулярных выражений.
Пароли хранятся в зашифрованном виде и не имеют функции обратной дешифровки. Для того чтобы задать пароль, необходимо использовать функцию password ().
Если привилегии на просмотр процессов сервера не разрешены, тогда пользователь может видеть только собственные процессы.
На этапе проверки значений таблицы user пропускаются для дальнейшей обработки только те соединения, у которых поля Host, User и значения функции password () от значения пароля, полученного от клиента, совпадают.
Дальнейшая обработка приводится в таблице db. На этом этапе определяются привилегии, которыми обладает пользователь для работы с конкретной базой данных (таблица. 1.3).
Таблица 1.3. Привилегии для работы с базой данных
Привилегии, указанные в таблице db, перекрывают значения, полученные в таблице user, именно поэтому пользователи могут не иметь ни одной привилегии в таблице user.
mirznanii.com
mysql server
CодержаниеВведение……………………………………………………………………………4
Общее описание, запуск и настройка
прав доступа к базам данных MySQL……………………….……..…..5
Команды пакета MySQL……………………………………………….…..10
Основные команды………………...…………………………………..11
Дополнительные команды…………………...………………….…….23
Настройка mysqld (серверная часть пакета MySQL)…………………….27
Возможность языка Perl для работы с MySQL сервером…………...…..29
Заключение……………………………………………..………………..……….31
Список литературы………………………………………….…………………..33
На сегодняшний день СУБД MySQL является одной из самых известных, надежных и быстрых из всего семейства существующих СУБД. Почему именно она? Одной из причин являются правила ее распространения — за нее не надо платить деньги и распространяется она вместе со своими исходными текстами, другая причина – это то, что MySQL относительно быстрая СУБД. PostgreSql, например, также распространяется под лицензией *GNU GPL, но она не получила столь широкого распространения. Одна из причин — это заметная медлительность. Итак, две главные причины популярности MySQL: цена и производительность.
MySQL написан под десятки видов операционных систем. Это и FreeBSD, OpenBSD, MacOS, OS/2, SunOS, Win9x/00/NT и Linux. Сегодня MySQL особенно распространена на платформах Linux и Windows. Причем на последней встречается гораздо реже.
Принцип работы СУБД MySQL аналогичен принципу работы любой СУБД, использующей SQL (Structured Query Language, язык структурированных запросов) в качестве командного языка для создания/удаления баз данных, таблиц, для пополнения таблиц данными, для осуществления выборки данных.
Целью данной работы является описание конфигурирования, администрирования и программирования СУБД MySQL и создание программы иллюстрирующей возможности MySQL.
- Общее описание, запуск и настройка прав доступа к
базам данных MуSQL.
MySQL, как и любая другая СУБД представляет собой программу-сервер, которая находится в памяти компьютера и обслуживает TCP порт. В случае с MySQL, номером порта будет являться число 3306. А клиентская программа, будь то CGI-приложение на Perl либо программный продукт на C, соединяется с СУБД по этому порту и посылает ему строчки на SQL. Тот в свою очередь их интерпретирует, выполняя необходимые действия, и отсылает результаты запроса обратно клиенту. Таким способом происходит общение сервера баз данных с клиентскими программами.
Для запуска MуSQL-сервера необходимо выполнить файл mysqld.exe. Сервер запускается как безоконный фоновый процесс. При этом он остается в памяти и обрабатывает запросы от клиентских приложений.
Для остановки сервера следует выполнить команду:
mysqladmin -u root shutdown.
Если сервер не был остановлен корректно, то при последующем запуске в файле mysql.err будет добавлена запись о некорректном завершении. Корректная остановка сервера необходима для сохранения всех данных, которые находятся в кэшах MySQL.
MуSQL имеет развитую систему доступа к базам данных. Пользователю базы данных может быть предоставлен доступ ко всей базе данных, отдельным таблицам и отдельным столбцам таблиц. Имеется разграничение на действия, которые может производить пользователь с записями. Для организации такой сложной (на первый взгляд) структуры доступа используется несколько таблиц в специальной базе данных. На основании значений этих таблиц выстраивается политика предоставления доступа.
База данных, которую сервер MуSQL использует для хранения внутренней информации о пользователях, по умолчанию имеет имя mуsql. В этой базе данных определены таблицы для хранения информации пользовательских учетных записей. Содержание БД mysql в таблице 1.1.
Таблица 1.1. Список таблиц прав доступа
Порядок проверки | Название таблицы | Описание |
1 | user | Список всех пользователей сервера MySQL с правами доступа ко всей базе данных в целом |
2 | db | Список баз данных с сопоставленными им пользователями и их привилегиями на выполнение операции |
3 | host | Список компьютеров, с которых возможен доступ к сопоставленной компьютеру базе данных, и привилегии на выполнение операций, которые могут проводиться через соединение с этого компьютера |
4 | tables_priv | Список таблиц баз данных, к которым возможен доступ пользователя |
5 | columns_priv | Список столбцов базы данных, к которым возможен доступ пользователя |
Проверка прав доступа производится в порядке, указанном в таблице 1.1. Прежде всего проверяется, существует ли пользователь и какие возможности он имеет при управлении базой данных (таблица1.2.).
Таблица 1.2. Поля таблицы user
Название поля | Тип | Значение по умолчанию | Описание |
1 | 2 | 3 | 4 |
Host | Char(60) | Компьютер пользователя, с которого разрешено подключение | |
User | Char(16) | Имя пользователя | |
Password | Char(16) | Пароль пользователя | |
Select_priv | Enum(‘N’, ‘Y’) | N | Привилегии на выборку данных оператором SELECT |
Insert_priv | Enum(‘N’, ‘Y’) | N | Привилегии на вставку данных оператором INSERT |
Update_priv | Enum(‘N’, ‘Y’) | N | Привилегии на изменение данных оператором UPDATE |
Delete_priv | Enum(‘N’, ‘Y’) | N | Привилегии на удаление данных оператором DELETE |
Reload_priv | Enum(‘N’, ‘Y’) | N | Привилегии на перезапуск сервера MySQL, а также сброс данных из памяти на диск |
1 | 2 | 3 | 4 |
Shutdown_priv | Enum(‘N’, ‘Y’) | N | Привилегии на отключение сервера MySQL |
Process_priv | Enum(‘N’, ‘Y’) | N | Привилегии на просмотр состояния текущих процессов сервера |
File_priv | Enum(‘N’, ‘Y’) | N | Привилегии, необходимые для работы с файловой системой, например оператором LOAD DATA INFILE |
Grant_priv | Enum(‘N’, ‘Y’) | N | Привилегии, позволяющие пользователю устанавливать привилегии другим пользователям |
References_priv | Enum(‘N’, ‘Y’) | N | Привилегии, позволяющие ссылаться на объект |
Index_priv | Enum(‘N’, ‘Y’) | N | Привилегии, необходимые для индексирования данных |
Alter_priv | Enum(‘N’, ‘Y’) | N | Привилегии, позволяющие обновлять данные |
Поля с типом Enum ( ‘N’, ‘Y’ ) считаются разрешенными, если установлено значение Y, и неразрешенными, если установлено значение N.
Для администратора сервера MуSQL необходимы все привилегии, для обычных пользователей в данной таблице обычно не разрешена ни одна из привилегии, т. е. Обычные пользователи не могут изменять конфигурацию сервера MySQL. Исключением можно считать привилегии File_priv, если пользователь активно работает с файловой системой.
Поле host может быть описано как IP-адрес или имя, а также может быть пустым. В имени компьютера и в имени пользователя разрешается применение регулярных выражений.
Пароли хранятся в зашифрованном виде и не имеют функции обратной дешифровки. Для того чтобы задать пароль, необходимо использовать функцию password ().
Если привилегии на просмотр процессов сервера не разрешены, тогда пользователь может видеть только собственные процессы.
На этапе проверки значений таблицы user пропускаются для дальнейшей обработки только те соединения, у которых поля Host, User и значения функции password () от значения пароля, полученного от клиента, совпадают.
Дальнейшая обработка приводится в таблице db. На этом этапе определяются привилегии, которыми обладает пользователь для работы с конкретной базой данных (таблица. 1.3).
Таблица 1.3. Привилегии для работы с базой данных
Название поля | Тип | Значение по умолчанию | Описание |
Host | Адрес компьютера пользователя, с которого разрешено подключение | ||
Db | Имя базы данных | ||
User | Имя пользователя | ||
Select_priv | Enum(‘N’, ‘Y’) | N | Привилегии на выборку данных оператором SELECT |
Insert_priv | Enum(‘N’, ‘Y’) | N | Привилегии на вставку данных оператором INSERT |
Update_priv | Enum(‘N’, ‘Y’) | N | Привилегии изменения данных оператором UPDATE |
Delete_priv | Enum(‘N’, ‘Y’) | N | Привилегии на удаление данных DELETE |
Create_priv | Enum(‘N’, ‘Y’) | N | Привилегии, необходимые для создани таблиц оператором CREATE TABLE |
Drop_priv | Enum(‘N’, ‘Y’) | N | Привилегии, необходимые для удаления таблиц оператором DROP TABLE |
Grant_priv | Enum(‘N’, ‘Y’) | N | Привилегии, позволяющие пользователю устанавливать привилегии другим пользователям |
References_priv | Enum(‘N’, ‘Y’) | N | Привилегии, позволяющие ссылаться на объект |
Index_priv | Enum(‘N’, ‘Y’) | N | Привилегии, необходимые для индексирования данных |
Alter_priv | Enum(‘N’, ‘Y’) | N | Привилегии, позволяющие обновлять данные |
Привилегии, указанные в таблице db, перекрывают значения, полученные в таблице user, именно поэтому пользователи могут не иметь ни одной привилегии в таблице user.
Один пользователь может иметь несколько различных адресов, с которых может производиться подключение, поэтому на данном этапе проверяется значение Host. Если значение поле Host пусто, тогда проводится дополнительная проверка в таблице host. Таблица Host идентична таблице Db, за исключением того, что в ней отсутствует поле User. Столбцы таблицы host аналогичны столбцам таблицы db, разница состоит только в том, что данные из таблицы host при совпадении полей Host и Db имеют более высокий приоритет, и перекрывают ранее установленные значения.
MySQL сервер позволяет устанавливать ограничения на доступ к отдельным таблицам и столбцам таблицы (эта информация хранится в таблицах tables_priv и columns_priv), но увеличение числа проверок приводит к уменьшению производительности.
2. Команды пакета MySQL.
СУБД MySQL поставляется со следующими основными программами и скриптами:
mysql
mysqlaccess
mysqladmin
mysqld
mysqldump
mysqlshow
isamchk
isamlog
safe_mysqld
Еще есть несколько утилит. Они не жизненно важны для MySQL, но обеспечивают полезные дополнительные функциональные возможности.
comp_err
msql2mysql
mysqlbug
perror
replace
which2
zap
2.1. Основные команды
mysql
Клиентская программа MySQL.
Запуск:
mysql [OPTIONS] database
ОПИСАНИЕ:
Клиентская часть СУБД MySQL названа MySQL. Она обеспечивает интерфейс командной строки с СУБД MySQL, и возможность неинтерактивной пакетной обработки.
Программой mysql поддерживаются следующие опции. Можно использовать или "короткий" одиночный символ или более подробную версию.
-\\?, --help | Справка. |
-d, --debug=[options] | Вывести в протокол отладочную информацию. В общем виде 'd:t:o,filename`. |
-d, --debug-info | Вывести отладочную информацию при выходе из программы. |
-e, --exec | Выполнить команду и выйти, неявная форма опции --batch. |
-f, --force | Продолжить, даже если есть SQL ошибка. |
-h, --hostname=[hostname] | Задает имя сервера, с которым необходимо соединиться. |
-P, --port=[port] | Порт, для соединения с сервером MySQL. |
-p, --password=[password] | Пароль пользователя, для соединения с сервером MySQL. Не должно быть пробела между -p и паролем. |
-q, --quick | Быстрый (небуферизованный вывод), может замедлить сервер, если вывод приостановлен. |
-s, --silent | Работать молча (подавить вывод). |
-u, --user=[user] | Имя пользователя для соединения с сервером MySQL. Необязательно, если имя пользователя такое же, как логин. По умолчанию логин используется в качестве имени пользователя. |
-v, --verbose | Подробный вывод. -v опция может быть удвоена или утроена для более подробного вывода. |
-w, --wait | Если подключение терпит неудачу, то подождать и повторить попытку. |
-B, --batch | Выполнить в пакетном режиме. Никаких запросов и никаких ошибок в STDOUT. Устанавливается автоматически при чтении из/записи в канал. Результаты будут выведены в формате с разделением табуляцией. Одна строка результата соответствует одной строке вывода. |
-I, --help | Справка, эквивалент -\\?. |
-V, --version | Вывести информацию о версии пакета. |
mysqlaccess
Проверка прав доступа пользователя.
СИНТАКСИС:
mysqlaccess [host] [user] [db] OPTIONS
ОПИСАНИЕ:
Скрипт mysqlaccess используется, чтобы внести в список привилегии пользователя для конкретной базы данных. Это дает информацию, которая может быть полезна при диагностировании проблем с доступом пользователей к данной базе данных.
Скрипт mysqlaccess поддерживает следующие параметры (можно использовать "короткий" одиночный символ или более подробную версию):
-?, --help | Справка. |
-v, --version | Информация о версии |
-u, --user=... | Имя пользователя для доступа к базе данных. |
-p, --password=... | Пароль пользователя, для соединения с сервером MySQL. |
-h, --host=... | Имя сервера, используется для проверки прав доступа. |
-d, --db=... | Имя базы данных, используется для проверки прав доступа. |
-U, --superuser=... | Логин администратора. |
-P, --spassword=... | Пароль администратора. |
-b, --brief | Вывести краткие сведения о таблице. |
--relnotes | Вывести заметки по реализации. |
--plan | Вывести идеи для будущих реализаций. |
--howto | Вывести примеры использования `mysqlaccess' |
--debug=N | Уровень отладки N (0..3) |
Необходимо указать по крайней мере имя пользователя и имя базы данных, которые нужно проверить. Если имя сервера не задано, то подразумевается имя 'localhost'.
mysqladmin
Выполняет административные функции.
СИНТАКСИС:
mysqladmin [OPTIONS] command command...
ОПИСАНИЕ:
Программа mysqladmin используется, для управления различными аспектами функционирования СУБД MySQL. Допустимы следующие опции (можно использовать "короткий" одиночный символ или более подробную версию):
-\\?, --help | Справка. |
-d, --debug=[options] | Вывести в протокол отладочную информацию. В общем виде 'd:t:o,filename`. |
-f, --force | Не спрашивать подтверждения при пропуске таблицы. |
-h, --host=[hostname] | Имя сервера, если не localhost. |
-i, --sleep=[seconds] | Выполнить команды несколько раз с паузой в [секунд] между ними. |
-p, --password[password] | Пароль пользователя, для соединения с сервером MySQL. Обратите внимание, что не должно быть пробела между -p и паролем. |
-u, --user=[user] | Имя пользователя. Если не указано, используется текущий логин. |
-P, --port=[port] | Порт, для соединения с сервером MySQL. |
-V, --version | Вывести информацию о версии. |
Кроме этого программа mysqladmin поддерживает следующие команды:
create [имя базы данных] | Создать базу данных. |
drop [имя базы данных] | Удалить базу данных (вместе со всеми таблицами). |
processlist | Вывести сведения о работающих потоках MySQL. |
reload | Перечитать настройки и очистить все кэши. |
shutdown | Завершить работу СУБД MySQL. Все запущенные MySQL-сессии помечаются как 'killed'. Это означает, что все потоки, которые простаивают в настоящее время, будут закрыты немедленно, а управление потоками будет закрыто, когда они достигнут точек завершения, определенных сервером. Клиенты получат сообщение об ошибке 'mysql server has gone away'. |
status | Вывести короткое сообщение о статусе сервера. |
en.coolreferat.com
Ручная установка MySQL сервера в ОС Windows
Прежде чем приступить к ручной установке сервера MySQL, нужно выяснить версию ОС и выбрать соответствующую версию MySQL Community Server ибо не все версии MySQLd могут быть установлены на любую версию Windows.
Например Mysql версии 5.6 неработает в Windows XP, а вернее работает, но не совсем корректно, - после запуска не открывает порт (3306 по-умолчанию) и при запуске может в консоль сыпать сообщениями об ошибках! Например:
mysqld.exe --defaults-file="..\my.ini" 2014-05-06 12:02:46 0 [Warning] TIMESTAMP with implicit DEFAULT value is depreca ted. Please use --explicit_defaults_for_timestamp server option (see documentati on for more details).Предупреждение TIMESTAMP with implicit DEFAULT value is deprecated. можно погасить добавлением "explicit_defaults_for_timestamp = TRUE" в my.ini, но сервер Mysql версии 5.6 в Windows XP всё равно не будет работать!
Значит сначала идём сюда MySQL :: Supported Platforms: MySQL Database, где выбираем подходящую для нашей ОС версию и скачиваем её MySQL :: Download MySQL Community Server
Так как нас интересует именно ручная, а не автоматическая, установка MySQL сервера в Windows, то загружаем мы не Windows (x86, 32-bit), MSI Installer, а Windows (x86, 32-bit), ZIP Archive, - в нашем случае это mysql-5.5.37-win32.zip
При попытке загрузить нас перекинет на страницу с предложением войти или пройти регистрацию, но мы неведёмся и в самом низу страницы жмём на ссыль No thanks, just start my download., - т.е. "нет спасибо, просто дайте мне загрузить", прямая ссыль: http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.37-win32.zip
Загрузили? Ок, теперь распакуйте куда желаете. Распаковали? Теперь скопируйте my-small.ini в my.ini, откройте консоль (ака cmd) войдите в каталог .\bin и выполните:
mysqld.exe --defaults-file="..\my.ini"После запуска mysqld.exe должен будет потреблять не более 30 МБ, а если рамы в наличии много, то можно воспользоваться иными конфиг файлами, - ну, например my-medium.ini или my-large.ini
А чтобы консоль не занимала лишнее пространство на панели задач, то сервер можно запускать через, нет не через жо..;)), через батник start.bat:
cd bin start /MIN mysqld.exe --defaults-file="..\my.ini"Сервер уже запущен? Теперь скачаем phpMyAdmin и распакуем его в корень каталога с веб-сервером апача, - в нашем случае это "W:\phpMyAdmin". В httpd.conf добавим алиас (mod_alias - Apache HTTP Server), чтобы phpMyAdmin был доступен из любого локального (.loc) виртуального хоста, например http://mylocal1.loc/phpmyadmin или http://mylocal2.loc/phpmyadmin, а не только из-под локалхоста:
Alias /phpmyadmin/ "W:/phpMyAdmin/" <Directory "W:\phpMyAdmin"> Options ExecCGI AllowOverride All Order allow,deny Allow from all </Directory>Параматр ExecCGI нужен потому, что PHP мы юзаем как FastCGI, если PHP работает как модулю, то "Options ExecCGI" можно удалить.
Теперь нужно установить пароль для пользователя 'root': mysqladmin -u root password 'наш_пароль'
Хотя если сервер наш то локальный и доступ к нему извне запрещён, то 'root'-овский пароль мы можем и не устанавливать, а просто скопировать config.sample.inc.php в config.inc.php и довести секцию "Authentication type" до такой вот кондиции:
/* Authentication type */ //$cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Servers'][$i]['auth_type'] = 'config'; /* Server parameters */ $cfg['Servers'][$i]['host'] = 'localhost'; $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['compress'] = false; /* Select mysql if your server does not have mysqli */ $cfg['Servers'][$i]['extension'] = 'mysqli'; //$cfg['Servers'][$i]['AllowNoPassword'] = false; $cfg['Servers'][$i]['AllowNoPassword'] = true;В таком случае мы всегда будем получать доступ к БД через phpMyAdmin без необходимости ввода логина и пароля, - именно такой подход я более предпочитаю на локальном сервере.
Все, теперь осталось насоздавать пользователей с базами данных и юзать наш локальный сервер MySQL в ОС Windows как нам нравится.
Если у кого остались вопросы, пишите в каменты...
Ссылки по теме:
Рекомендуемый контент
Об авторе
АдМинь БагоИскатель ярый борец за безглючную работу любых механизмов и организмов во всей вселенной и потому пребывает в вечном поиске всяческих багов, а тот кто ищет как известно всегда находит. Когда что-то или кого-то вылечить не в состоянии, то со словами "Я в аду, а вы все черти" уходит в запой выйдя из которого снова берётся лечить неизлечимое.
Ещё статьи автора
www.remoteshaman.com