Search the MySQL manual:
MySQL Manual

Buy this Reference Manual in softcover from Barnes & Noble!

/ / Up / Table of Contents

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.

Отметим, что начиная с версии 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. Приведенный ниже пример начинается с удаления возможности анонимного доступа, который может быть использован любым пользователем для доступа к базе данных test, после чего устанавливается пароль для пользователя 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 OPTION password'. Для решения этой проблемы следует выполнить загрузку и обновление до последней доступной бесплатно версии MySQL.

В текущей версии MySQL вы можете легко добавлять новых пользователей и изменять их привилегии при помощи команд GRANT и REVOKE (see section 4.3.1 Синтаксис команд GRANT и REVOKE).

User Comments

Posted by [name withheld] on Wednesday January 15 2003, @6:59pm [Delete] [Edit]

I was also getting the error

System error 1067
Service could not be started
etc...

I moved my.ini from c:\winnt\system32\my.ini to c:\my.cnf and voila!!

Be nice if the docs were correct!!!

Posted by [name withheld] on Thursday January 16 2003, @3:02pm [Delete] [Edit]

in re: the last comment.

if you read the docs clearly you might notice that the my.ini file is supposed to reside in the winnt directory, not the winnt\system32 directory. that is why the service would not start.

<---I like n00bs... they taste like chicken--->
Anon.

Posted by Alexander Maslov on Sunday February 9 2003, @3:23pm [Delete] [Edit]

Actually, my.ini file "should" be searched on path specified by %windir%. mine, in not event set on winnt at all.

anyway, i place a copy in my installation dir, i created a winnt and put a copy there, and put a my.cfn file in c:\ as well - and i still get the same error 1067.

Posted by Phillip Harrington on Tuesday February 25 2003, @10:20pm [Delete] [Edit]

On Windows XP. I had to put my.ini into c:\windows\system32. I also had to add the lines from the InnoDB section.

Add your own comment.

Top / / / Up / Table of Contents