MySQL поддерживает TCP/IP на всех Windows-системах и именованные каналы в среде NT/2000/XP. По умолчанию MySQL использует именованные каналы для соединений с локальной машиной в среде NT/2000/XP и TCP/IP - во всех остальных случаях, если на клиентской машине установлен TCP/IP. Имя машины определяет используемый протокол:
| Имя машины | Протокол |
| NULL(отсутствует) | На NT/2000/XP пытается установить соединение через именованные каналы; если это не работает, используется TCP/IP. На 9x/Me используется TCP/IP. |
| . | Именованные каналы. |
| localhost | Соединение TCP/IP с локальной машиной |
| имя удаленной машины | TCP/IP |
Чтобы заставить MySQL-клиента
использовать именованные каналы,
следует добавить опцию
--pipe или задать
. в качестве имени
машины для соединения. Для
определения имени канала
используйте опцию --socket.
В MySQL 4.1 вам следует использовать
опцию --protocol=PIPE.
Отметим, что начиная с версии 3.23.50
именованные каналы применяются
только в случае, если
mysqld запущен с опцией
--enable-named-pipe. Это вызвано
тем, что у некоторых
пользователей применение
именованных каналов приводило к
прекращению работы сервера MySQL.
Для проверки работоспособности MySQL нужно выполнить следующие команды:
C:\>C:\mysql\bin\mysqlshowC:\>C:\mysql\bin\mysqlshow -u root mysqlC:\>C:\mysql\bin\mysqladmin version status procC:\>C:\mysql\bin\mysql test
Если при ответе mysqld на
входящие соединения под Windows 9x/Me
возникают задержки, то это, скорее
всего, вызвано проблемами с вашим
DNS. В таком случае следует
запускать mysqld с опцией
--skip-name-resolve и в таблицах
привилегий MySQL использовать
только localhost и IP-адреса.
Избежать работы с DNS при
соединении с MySQL-сервером
mysqld-nt, работающим под
NT/2000/XP, можно путем применения
опции --pipe, которая
задает использование именованных
каналов. Сказанное выше
справедливо для большинства
клиентов MySQL.
Существует две версии программы работы с MySQL из командной строки:
| Бинарный файл | Описание |
mysql |
Собран ``родными'' средствами Windows, обеспечивает весьма ограниченные возможности редактирования текста. |
mysqlc |
Собран с использованием компилятора и
библиотек Cygnus GNU, которые
обеспечивают редактор
readline. |
Если вы хотите использовать
mysqlc.exe, сначала
необходимо скопировать
C:\mysql\lib\cygwinb19.dll в
системный каталог Windows
(\windows\system или в другое
аналогичное место).
По умолчанию всем пользователям
Windows предоставляются полные права
доступа ко всем базам данных без
ввода пароля. Чтобы обеспечить
большую безопасность MySQL,
необходимо задать пароль для
каждого пользователя и удалить
запись в таблице mysql.user,
содержащую Host='localhost' и
User=' `.
Необходимо также установить
пароль для пользователя
root. Приведенный ниже
пример начинается с удаления
возможности анонимного доступа,
который может быть использован
любым пользователем для
установки пароля для
пользователя root:
C:\>C:\mysql\bin\mysql mysqlmysql>DELETE FROM user WHERE Host='localhost' AND User=' ';mysql>QUITC:\>C:\mysql\bin\mysqladmin reloadC:\>C:\mysql\bin\mysqladmin -u root password your_password
Если вы хотите остановить сервер
mysqld после того, как
установлен пароль для
пользователя root, нужно
использовать команду:
C:\> mysqladmin --user=root --password=your_password shutdown
Если у вас работает старая
испытательная версия MySQL 3.21 под
Windows, вышеприведенная команда не
выполнится и приведет к сообщению
об ошибке: parse error near `SET
password'. Для решения этой
проблемы следует выполнить
загрузку и обновление до
последней доступной бесплатно
версии MySQL.
В текущей версии MySQL вы можете
легко добавлять новых
пользователей и изменять их
привилегии при помощи команд
GRANT и REVOKE (see
Раздел 4.3.1, «Синтаксис команд GRANT и REVOKE»).
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
