ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Oracle ΡΡΠ·Π΄Π°Π΄Π΅ Π½ΠΎΠ² ΠΊΠ»ΠΎΠ½ Π½Π° Π‘Π£ΠΠ MySQL 8.2 ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΡΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ MySQL 8.0.35 ΠΈ 5.7.44. Π‘Π±ΠΎΡΠΊΠΈΡΠ΅ Π½Π° MySQL Community Server 8.2.0 ΡΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ Π½Π° Linux, FreeBSD, macOS ΠΈ Windows.
MySQL 8.2.0 Π΅ Π²ΡΠΎΡΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΎ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π½ΠΎΠ²ΠΈΡ ΠΌΠΎΠ΄Π΅Π» Π½Π° ΡΠ΅Π»ΠΈΠ·ΠΈΡΠ΅, ΠΏΡΠ΅Π΄Π²ΠΈΠΆΠ΄Π°Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π° Π΄Π²Π° ΡΠΈΠΏΠ° ΠΊΠ»ΠΎΠ½ΠΈ Π½Π° MySQL β Β«InnovationΒ» ΠΈ Β«LTSΒ». ΠΠ»ΠΎΠ½ΠΈΡΠ΅ Innovation, ΡΡΠ΅Π΄ ΠΊΠΎΠΈΡΠΎ ΡΠ° MySQL 8.1 ΠΈ 8.2, ΡΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈ Π·Π° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΡΠΊΠ°Ρ Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ Π½ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΠΏΠΎ-ΡΠ°Π½ΠΎ. Π’Π΅Π·ΠΈ ΠΊΠ»ΠΎΠ½ΠΈ ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Ρ Π½Π° Π²ΡΠ΅ΠΊΠΈ 3 ΠΌΠ΅ΡΠ΅ΡΠ° ΠΈ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ°ΠΌΠΎ Π΄ΠΎ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ»Π΅Π΄Π²Π°ΡΠΎΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° ΠΊΠ»ΠΎΠ½ 8.2, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΊΠ»ΠΎΠ½ 8.1 ΡΠΏΠΈΡΠ°). LTS-ΠΊΠ»ΠΎΠ½ΠΈΡΠ΅ ΡΠ° ΠΏΡΠ΅ΠΏΠΎΡΡΡΠΈΡΠ΅Π»Π½ΠΈ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ°Ρ Π½ΡΠΆΠ΄Π° ΠΎΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΡΡ ΠΈ Π΄ΡΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. LTS ΠΊΠ»ΠΎΠ½ΠΈΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ·Π΄Π°Π²Π°Π½ΠΈ Π½Π° Π²ΡΠ΅ΠΊΠΈ Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° 5 Π³ΠΎΠ΄ΠΈΠ½ΠΈ, Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ 3 Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°. ΠΡΠ΅Π· ΠΏΡΠΎΠ»Π΅ΡΡΠ° Π½Π° 2024 Π³ΠΎΠ΄ΠΈΠ½Π° ΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π° LTS-ΡΠ΅Π»ΠΈΠ· Π½Π° MySQL 8.4, ΡΠ»Π΅Π΄ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ Π½ΠΎΠ²ΠΈΡΡ ΠΊΠ»ΠΎΠ½ Innovation 9.0.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² MySQL 8.2:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° Π±Π°Π·Π° Webauthn (FIDO2), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠ°ΠΊΡΠΎΡΠ½Π° Π°Π²ΡΠ΅Π½ΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ° Ρ ΡΡΡΠ²ΡΡΠ° MySQL Π±Π΅Π· ΠΏΠ°ΡΠΎΠ»ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΡΠΎΠΊΠ΅Π½ΠΈ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° FIDO2 ΠΈΠ»ΠΈ Π±ΠΈΠΎΠΌΠ΅ΡΡΠΈΡΠ½Π° Π°Π²ΡΠ΅Π½ΡΠΈΠΊΠ°ΡΠΈΡ. ΠΠ»ΡΠ³ΠΈΠ½ΡΡ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Webauthn Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠ°ΠΌΠΎ Π·Π° MySQL Enterprise.
- Π‘ΡΡΠ²ΡΡΠ½ΠΈΡΡ ΠΏΠ»ΡΠ³ΠΈΠ½ mysql_native_password, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Ρ ΠΏΠ°ΡΠΎΠ»ΠΈ, Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡΠ° Π½Π° Π½Π΅Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½. ΠΠΌΠ΅ΡΡΠΎ mysql_native_password ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΊΡΠΌ ΠΏΠ»ΡΠ³ΠΈΠ½Π° caching_sha2_password, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° SHA2 Π²ΠΌΠ΅ΡΡΠΎ SHA1 Π·Π° Ρ Π΅ΡΠΈΡΠ°Π½Π΅. ΠΠ° ΡΠΌΡΠ½Π° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΊΡΠΌ ΠΏΠ»ΡΠ³ΠΈΠ½Π° caching_sha2_password Ρ ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° ΠΏΠ°ΡΠΎΠ»Π°ΡΠ° Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°: ALTER USER βusernameβ@βlocalhostβ IDENTIFIED WITH caching_sha2_password BY RANDOM PASSWORD PASSWORD EXPIRE FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 2;
- ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ° Ρ Π΅Ρ ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ EXCEPT ΠΈ INTERSECT.
- Π Π°Π·ΡΠΈΡΠ΅Π½ΠΈ ΡΠ° Π΄Π΅Π±ΡΠ³ΠΈΠ½Π³ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅. Π ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ SELECT, INSERT, REPLACE, UPDATE ΠΈ DELETE Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΈΠ·ΡΠ°Π·Π° βEXPLAIN FORMAT=JSONβ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅Π½ ΠΈΠ·Ρ ΠΎΠ΄ Π² JSON ΡΠΎΡΠΌΠ°Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, βEXPLAIN FORMAT=JSON INTO @var select_stmt;β).
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΈΠ·ΡΠ°Π·ΡΡ Β«EXPLAIN FOR SCHEMAΒ» Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°, ΡΠ²ΡΡΠ·Π°Π½Π° ΡΠ°ΠΌΠΎ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΡ Π΅ΠΌΠ° Π΄Π°Π½Π½ΠΈ.
- Π ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° mysqldump Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«βoutput-as-versionΒ» Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°ΠΌΠΏΠΎΠ²Π΅, ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΡΠ°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° MySQL (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠΎΡΠΈ BEFORE_8_2_0 ΠΈΠ»ΠΈ BEFORE_8_0_23 Π·Π° Π²ΡΡΡΠ°Π½Π΅ Π½Π° Π½Π΅ΠΏΠΎΠ»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠ½Π°ΡΠ° ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ master/slave, ΠΎΠ±ΡΠ²Π΅Π½Π° Π·Π° ΠΎΡΡΠ°ΡΡΠ»Π° Π² Π²Π΅ΡΡΠΈΠΈΡΠ΅ 8.2.0 ΠΈ 8.0.23).
- Π ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°ΡΠ° C-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π½Π°ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ (prepared statement), ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Ρ Π½ΠΎΠ²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ mysql_stmt_bind_named_param(), ΠΊΠΎΡΡΠΎ Π·Π°ΠΌΠ΅ΡΡΠ²Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° mysql_stmt_bind_param().
- Π£Π»Π΅ΡΠ½Π΅Π½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° SQL-ΡΡΠ°ΡΠΈΠΊΠ° Π² ΠΊΠ»ΡΡΡΠ΅ΡΠ° ΠΎΡ MySQL-ΡΡΡΠ²ΡΡΠΈ. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΈ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ²ΡΡΠ·Π²Π°Π½ΠΈΡ Ρ Π²ΡΠΎΡΠΈΡΠ½ΠΈ ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΡΡΠ²ΡΡΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ SET_ANY_DEFINER, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠ° ΠΏΡΠ°Π²ΠΎΡΠΎ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ Ρ ΠΈΠ·ΡΠ°Π·Π° DEFINER, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ ALLOW_NONEXISTENT_DEFINER Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ Ρ ΠΎΡΡΡΡΡΠ²Π°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊ.
- ΠΠ±ΡΠ²Π΅Π½ΠΈ Π·Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ: ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡΠ΅ old ΠΈ new, ΠΌΠ°ΡΠΊΠΈΡΠ΅ Β«%Β» ΠΈ Β«_Β» Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΠ, ΠΎΠΏΡΠΈΡΡΠ° Β«βcharacter-set-client-handshakeΒ», ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° binlog_transaction_dependency_tracking ΠΈ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΡΠ° SET_USER_ID.
- Π ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠΈΡΡΠ° Π½Π° Π½Π΅ΠΏΠΎΠ»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠ½Π°ΡΠ° ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΡΠ²ΡΡΠ·Π°Π½Π° Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ°, ΠΎΠ±ΡΠ²Π΅Π½ΠΈ Π·Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ ΡΠ° ΠΈΠ·ΡΠ°Π·ΠΈΡΠ΅ Β«RESET MASTERΒ», Β«SHOW MASTER STATUSΒ», Β«SHOW MASTER LOGSΒ» ΠΈ Β«PURGE MASTER LOGSΒ», Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠΈΡΠΎ ΡΠ»Π΅Π΄Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΈΠ·ΡΠ°Π·ΠΈΡΠ΅ Β«RESET BINARY LOGS AND GTIDSΒ», Β«SHOW BINARY LOG STATUSΒ», Β«SHOW BINARY LOGSΒ» ΠΈ Β«PURGE BINARY LOGSΒ».
- ΠΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ ΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΠΎΠ±ΡΠ²Π΅Π½ΠΈ Π·Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ: ΡΡΠ½ΠΊΡΠΈΡΡΠ° WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS(), ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° expire_logs_days, ΠΎΠΏΡΠΈΠΈΡΠ΅ Β«βabort-slave-event-countΒ» ΠΈ Β«βdisconnect-slave-event-countΒ».
- ΠΡΡΡΡΠ°Π½Π΅Π½ΠΈ ΡΠ° 26 ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. ΠΠ²Π΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ° Curl ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° OpenSSL, ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠΈΡΠ°Π½ΠΈ ΠΎΡΠ΄Π°Π»Π΅Ρ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
