2.6. Заметки по операционным системам
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 »).
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|