-
Notifications
You must be signed in to change notification settings - Fork 157
/
Copy pathmysql-xdevapi.getsession.xml
252 lines (236 loc) · 8.91 KB
/
mysql-xdevapi.getsession.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b0a34b2fce160f558e3c81bf73121d16c9d56eb8 Maintainer: Fan2Shrek Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.mysql-xdevapi-getsession" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>getSession</refname>
<refpurpose>Connecte à un serveur MySQL</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mysql_xdevapi\Session</type><methodname>mysql_xdevapi\getSession</methodname>
<methodparam><type>string</type><parameter>uri</parameter></methodparam>
</methodsynopsis>
<para>
Connecte au serveur MySQL.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>uri</parameter></term>
<listitem>
<para>
L'uri du serveur MySQL, tel que <literal>mysqlx://user:password@host</literal>.
</para>
<para>
Format d'URI:
</para>
<para>
<code>scheme://[user[:[password]]@]target[:port][?attribute1=value1&attribute2=value2...</code>
</para>
<itemizedlist>
<listitem>
<para><literal>scheme</literal>: requis, le protocole de connexion</para>
<para>Dans mysql_xdevapi c'est toujours 'mysqlx' (pour le protocole X)</para>
</listitem>
<listitem>
<para><literal>user</literal>: optionnel, le compte utilisateur MySQL pour l'authentification</para>
</listitem>
<listitem>
<para><literal>password</literal>: optionnel, le mot de passe de l'utilisateur MySQL pour l'authentification</para>
</listitem>
<listitem>
<para><literal>target</literal>: requis, l'instance serveur à laquelle la connexion se réfère:</para>
<para>* Connexion TCP (nom d'hôte, adresse IPv4 ou adresse IPv6)</para>
<para>* Chemin de socket Unix (chemin de fichier local)</para>
<para>* Pipe nommé Windows (chemin de fichier local)</para>
</listitem>
<listitem>
<para><literal>port</literal>: optionnel, le port réseau du serveur MySQL.</para>
<para>par défaut le port pour le protocole X est 33060</para>
</listitem>
<listitem>
<para>
<literal>?attribute=value</literal>: cet élément est optionnel et spécifie un dictionnaire de données
qui contient différentes options, y compris:
</para>
<itemizedlist>
<listitem>
<para>
L'<literal>auth</literal> (mécanisme d'authentification) attribut tel qu'il se rapporte aux connexions chiffrées.
Pour plus d'informations, voir <link xlink:href="&url.mysql.docs.connect.encryption;">Options de commande pour les connexions chiffrées</link>.
Les valeurs 'auth' suivantes sont supportées: <literal>plain</literal>,
<literal>mysql41</literal>, <literal>external</literal>, et <literal>sha256_mem</literal>.
</para>
</listitem>
<listitem>
<para>
L'attribut <literal>connect-timeout</literal> affecte la connexion et
non les opérations suivantes. Il est défini par connexion, que ce soit sur
un seul hôte ou plusieurs.
</para>
<para>
Passer un entier positif pour définir le délai de connexion en secondes,
ou passer 0 (zéro) pour désactiver le délai (infini). Ne pas définir
connect-timeout utilise la valeur par défaut de 10.
</para>
<para>
En relation, les variables d'environnement MYSQLX_CONNECTION_TIMEOUT (délai en secondes) et MYSQLX_TEST_CONNECTION_TIMEOUT (utilisé lors de l'exécution des tests)
peuvent être définies et utilisées à la place de connect-timeout dans l'URI. L'option
connect-timeout de l'URI a la priorité sur ces variables d'environnement.
</para>
</listitem>
<listitem>
<para>
L'attribut optionnel <literal>compression</literal> accepte ces valeurs:
<literal>preferred</literal> (le client négocie avec le serveur pour trouver un algorithme supporté; la connexion est non compressée si un algorithme supporté mutuellement n'est pas trouvé),
<literal>required</literal> (comme "preferred", mais la connexion est terminée si un algorithme supporté mutuellement n'est pas trouvé), ou
<literal>disabled</literal> (la connexion est non compressée). Par défaut à <literal>preferred</literal>.
</para>
<para>
Cette option a été ajoutée dans la version 8.0.20.
</para>
</listitem>
<listitem>
<para>
L'attribut optionnel <literal>compression-algorithms</literal> définit les algorithmes
de compression désirés (et leur ordre d'utilisation préféré):
<literal>zstd_stream</literal> (alias: zstd),
<literal>lz4_message</literal> (alias: lz4), ou
<literal>deflate_stream</literal> (alias: deflate ou zlib).
Par défaut, l'ordre utilisé (selon la disponibilité du système) est lz4_message, zstd_stream, puis deflate_stream.
Par exemple, passer compression-algorithms=[lz4,zstd_stream] utilise lz4 s'il est disponible, sinon
zstd_stream est utilisé. Si les deux ne sont pas disponibles alors le comportement dépend de la valeur de compression
par exemple, si compression=required alors il échouera avec une erreur.
</para>
<para>
Cette option a été ajoutée dans la version 8.0.22.
</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<example>
<title>Exemple d'URI</title>
<programlisting role="php">
mysqlx://foobar
mysqlx://root@localhost?socket=%2Ftmp%2Fmysqld.sock%2F
mysqlx://foo:bar@localhost:33060
mysqlx://foo:bar@localhost:33160?ssl-mode=disabled
mysqlx://foo:bar@localhost:33260?ssl-mode=required
mysqlx://foo:bar@localhost:33360?ssl-mode=required&auth=mysql41
mysqlx://foo:bar@(/path/to/socket)
mysqlx://foo:bar@(/path/to/socket)?auth=sha256_mem
mysqlx://foo:bar@[localhost:33060, 127.0.0.1:33061]
mysqlx://foobar?ssl-ca=(/path/to/ca.pem)&ssl-crl=(/path/to/crl.pem)
mysqlx://foo:bar@[localhost:33060, 127.0.0.1:33061]?ssl-mode=disabled
mysqlx://foo:bar@localhost:33160/?connect-timeout=0
mysqlx://foo:bar@localhost:33160/?connect-timeout=10&compression=required
mysqlx://foo:bar@localhost:33160/?connect-timeout=10&compression=required&compression-algorithms=[lz4,zstd_stream]
</programlisting>
</example>
<para>
Pour plus d'informations, voir connexion à MySQL Shell
<link xlink:href="&url.mysql.docs.connect.shell.uri;">en utilisant une chaîne d'URI</link>.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Un objet <classname>Session</classname>.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Une erreur de connexion lance une exception <classname>Exception</classname>.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Exemple de <function>mysql_xdevapi\getSession</function></title>
<programlisting role="php">
<![CDATA[
<?php
try {
$session = mysql_xdevapi\getSession("mysqlx://user:password@host");
} catch(Exception $e) {
die("Connection could not be established: " . $e->getMessage());
}
$schemas = $session->getSchemas();
print_r($schemas);
$mysql_version = $session->getServerVersion();
print_r($mysql_version);
var_dump($collection->find("name = 'Alfred'")->execute()->fetchOne());
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Array
(
[0] => mysql_xdevapi\Schema Object
(
[name] => helloworld
)
[1] => mysql_xdevapi\Schema Object
(
[name] => information_schema
)
[2] => mysql_xdevapi\Schema Object
(
[name] => mysql
)
[3] => mysql_xdevapi\Schema Object
(
[name] => performance_schema
)
[4] => mysql_xdevapi\Schema Object
(
[name] => sys
)
)
80012
array(4) {
["_id"]=>
string(28) "00005ad66abf0001000400000003"
["age"]=>
int(42)
["job"]=>
string(7) "Butler"
["name"]=>
string(4) "Alfred"
}
]]>
</screen>
</example>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->