поиск:
Полезные ссылки

  • Форум по MySQL

  • Статьи по MySQL

  • Вопросы по MySQL

  • MySQL.com


  • Базы данных

  • MySQL

  • PostgreSQL


  • PHP конференция 2005
    Подробности!

    2.6.2.3. Работа MySQL в среде Windows

    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\mysqlshow
    C:\> C:\mysql\bin\mysqlshow -u root mysql
    C:\> C:\mysql\bin\mysqladmin version status proc
    C:\> 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 mysql
    mysql> DELETE FROM user WHERE Host='localhost' AND User=' ';
    mysql> QUIT
    C:\> C:\mysql\bin\mysqladmin reload
    C:\> 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»).

     
    © 1997-2005 PHP Club Team
    Rambler's Top100