Spec-Zone .ru
спецификации, руководства, описания, API
|
Для клиентской программы, чтобы быть в состоянии соединиться с сервером MySQL, это должно использовать надлежащие параметры соединения, такие как имя узла, куда сервер работает и имя пользователя и пароль Вашей учетной записи MySQL. У каждого параметра соединения есть значение по умолчанию, но можно переопределить их по мере необходимости использование опций программы, определенных или на командной строке или в файле опции.
Примеры здесь используют mysql клиентскую программу, но принципы применяются к другим клиентам, таким как mysqldump, mysqladmin, или mysqlshow.
Эта команда вызывает mysql, не определяя параметров соединения явно:
shell> mysql
Поскольку нет никаких опций параметра, значения по умолчанию применяются:
Имя хоста значения по умолчанию localhost
. На Unix у
этого есть особое значение, как описано позже.
Имя пользователя значения по умолчанию ODBC
на Windows
или Вашем имени для входа в систему Unix на Unix.
Никакой пароль не отправляется если ни один -p
ни --password
дается.
Для mysql первый параметр неопции берется в качестве имени базы данных значения по умолчанию. Если нет такой опции, mysql не выбирает базу данных значения по умолчанию.
Определить имя хоста и имя пользователя явно, так же как пароль, соответствующие опции предоставления на командной строке:
shell>mysql --host=localhost --user=myname --password=mypass mydb
shell>mysql -h localhost -u myname -pmypass mydb
Для опций пароля значение пароля является дополнительным:
Если Вы используете a -p
или --password
опция и определяет значение пароля, не должно быть никакого пространства между -p
или --password=
и пароль после этого.
Если Вы используете a -p
или --password
опция, но не определяет значение пароля, клиентская программа
запрашивает Вас вводить пароль. Пароль не выводится на экран, поскольку Вы вводите его. Это более
безопасно чем предоставление пароля на командной строке. Другие пользователи на Вашей системе могут быть
в состоянии видеть пароль, определенный на командной строке, выполняя команду, такую как постскриптум auxw. См. Раздел
6.1.2.1, "Направляющие линии Конечного пользователя для Безопасности Пароля".
Как только упомянуто, включая значение пароля на командной строке может быть угроза безопасности. Чтобы избежать
этой проблемы, определите --password
или -p
опция без
любого после значения пароля:
shell>mysql --host=localhost --user=myname --password mydb
shell>mysql -h localhost -u myname -p mydb
Когда у опции пароля нет никакого значения пароля, клиентская программа печатает подсказку и ожидает Вас, чтобы
ввести пароль. (В этих примерах, mydb
не
интерпретируется как пароль, потому что он разделяется от предыдущей опции пароля пространством.)
На некоторых системах, библиотечная подпрограмма, что использование MySQL, чтобы запросить пароль автоматически ограничивает пароль восемью символами. Это - проблема с системной библиотекой, не с MySQL. Внутренне, у MySQL нет никакого предела для длины пароля. Чтобы работать вокруг проблемы, измените свой пароль MySQL на значение, которое является восемью или меньшим количеством символов долго, или помещает Ваш пароль в файл опции.
На Unix программы MySQL обрабатывают имя хоста localhost
особенно, в пути, который,
вероятно, отличается от того, что Вы ожидаете по сравнению с другими основанными на сети программами. Для
соединений с localhost
, Программы MySQL пытаются соединиться с локальным сервером
при использовании файла сокета Unix. Это происходит даже если a --port
или -P
опция дается, чтобы определить номер
порта. Чтобы гарантировать, что клиент делает соединение TCP/IP с локальным сервером, использовать --host
или -h
определить значение имени хоста 127.0.0.1
, или
IP-адрес или имя локального сервера. Можно также определить протокол соединения явно, даже для localhost
, при использовании --protocol=TCP
опция. Например:
shell>mysql --host=127.0.0.1
shell>mysql --protocol=TCP
--protocol
опция
позволяет Вам установить определенный тип соединения, даже когда другие опции обычно принимали бы значение по
умолчанию к некоторому другому протоколу.
Если сервер конфигурируется, чтобы принять соединения IPv6, клиент может соединиться по использованию IPv6 --host=::1
. См. Раздел 5.1.9, "Поддержка
IPv6".
На Windows можно вынудить клиент MySQL использовать соединение именованного канала, определяя --pipe
или --protocol=PIPE
опция, или определяя .
(период) как
имя хоста. Если соединения именованного канала не включаются, ошибка происходит. Используйте --socket
опция, чтобы определить имя канала, если Вы не хотите использовать
имя канала значения по умолчанию.
Соединения с удаленными серверами всегда используют TCP/IP. Эта команда соединяется с работой сервера remote.example.com
использование значения по умолчанию номер порта (3306):
shell> mysql
--host=remote.example.com
Чтобы определить номер порта явно, используйте --port
или -P
опция:
shell> mysql --host=remote.example.com
--port=13306
Можно определить номер порта для соединений с локальным сервером, также. Однако, как обозначено ранее,
соединения с localhost
на Unix будет использовать файл сокета по умолчанию. Вы
должны будете вызвать соединение TCP/IP как уже описано или любую опцию, которая определяет, что номер порта
будет проигнорирован.
Для этой команды программа использует файл сокета на Unix и --port
опция игнорируется:
shell> mysql --port=13306
--host=localhost
Чтобы заставить номер порта использоваться, вызовите программу любым из этих способов:
shell>mysql --port=13306 --host=127.0.0.1
shell>mysql --port=13306 --protocol=TCP
Следующий список суммирует опции, которые могут использоваться, чтобы управлять, как клиентские программы соединяются с сервером:
--host=
, host_name
-h
host_name
Узел, куда сервер работает. Значение по умолчанию localhost
.
--password[=
, pass_val
]-p[
pass_val
]
Пароль учетной записи MySQL. Как описано ранее, значение пароля является дополнительным, но если
дано, не должно быть никакого пространства между -p
или --password=
и пароль после этого. Значение по умолчанию не должно
отправить пароль.
--pipe
, -W
На Windows соединитесь с сервером, используя именованный канал. Сервер должен быть запущен с --enable-named-pipe
опция, чтобы включить соединениям именованного
канала.
--port=
, port_num
-P
port_num
Номер порта, чтобы использовать для соединения, для соединений, сделанных, используя TCP/IP. Номер порта значения по умолчанию 3306.
--protocol={TCP|SOCKET|PIPE|MEMORY}
Эта опция явно определяет протокол, чтобы использовать для того, чтобы соединиться с сервером.
Полезно, когда другие параметры соединения обычно заставляли бы протокол использоваться кроме того,
Вы хотите. Например, соединения на Unix к localhost
делаются, используя
файл сокета Unix по умолчанию:
shell> mysql
--host=localhost
Чтобы вынудить соединение TCP/IP использоваться вместо этого, определите a --protocol
опция:
shell> mysql --host=localhost
--protocol=TCP
Следующая таблица показывает допустимое --protocol
опция оценивает и указывает на платформы, на которых может
использоваться каждое значение. Значения не являются чувствительными к регистру.
--protocol Значение
|
Протокол соединения | Допустимые Операционные системы |
---|---|---|
TCP |
Соединение TCP/IP с локальным или удаленным сервером | Все |
SOCKET |
Соединение файла сокета Unix с локальным сервером | Unix только |
PIPE |
Соединение именованного канала с локальным или удаленным сервером | Windows только |
MEMORY |
Сопряжение с общей памятью с локальным сервером | Windows только |
--shared-memory-base-name=
name
На Windows, имени разделяемой памяти к использованию, для соединений, сделанных, используя
разделяемую память для локального сервера. Значение по умолчанию MYSQL
.
Имя разделяемой памяти является чувствительным к регистру.
Сервер должен быть запущен с --shared-memory
опция, чтобы включить сопряжениям с общей памятью.
--socket=
, file_name
-S
file_name
На Unix имя Unix снабжает файл сокетом, чтобы использовать для соединений, сделанных, используя
именованный канал для локального сервера. Имя файла сокета Unix значения по умолчанию /tmp/mysql.sock
.
На Windows, имени именованного канала, чтобы использовать, для соединений с локальным сервером. Имя
канала Windows значения по умолчанию MySQL
. Имя канала не является
чувствительным к регистру.
Сервер должен быть запущен с --enable-named-pipe
опция, чтобы включить соединениям именованного
канала.
Опции, которые начинаются --ssl
используются для того, чтобы установить безопасное соединение с
сервером, используя SSL, если сервер конфигурируется с поддержкой SSL. Для получения дополнительной
информации см. Раздел 6.3.9.4, "Опции Команды
SSL".
--user=
, user_name
-u
user_name
Имя пользователя учетной записи MySQL Вы хотите использовать. Имя пользователя значения по умолчанию
ODBC
на Windows или Вашем имени для входа в систему Unix на Unix.
Возможно определить различные значения по умолчанию, которые будут использоваться, когда Вы делаете соединение так, чтобы Вы не ввели их в командную строку каждый раз, когда Вы вызываете клиентскую программу. Это может быть сделано несколькими способами:
Можно определить параметры соединения в
[client]
раздел файла опции. Соответствующий раздел файла мог бы быть
похожим на это:
[client]host=host_name
user=user_name
password=your_pass
Раздел 4.2.3.3, "Используя Файлы Опции", обсуждает файлы опции далее.
Можно
определить некоторые параметры соединения, используя переменные окружения. Узел может быть определен для
использования mysql MYSQL_HOST
. Имя
пользователя MySQL может быть определено, используя USER
(это для Windows
только). Пароль может быть определен, используя MYSQL_PWD
, хотя это
небезопасно; см. Раздел 6.1.2.1, "Направляющие
линии Конечного пользователя для Безопасности Пароля". Для списка переменных см. Раздел
2.12, "Переменные окружения".