Справочное руководство по MySQL
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).