БпСстСтС 15% ΠΎΡ‚ всички хостинг услуги

ВСствай умСнията си ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΠžΡ‚ΡΡ‚ΡŠΠΏΠΊΠ° Π·Π° всСки хостинг ΠΏΠ»Π°Π½

Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ΄: Skills Π—Π° Π½Π°Ρ‡Π°Π»ΠΎ
Заглавия
Linux

Как Π΄Π° ΠΈΠ·Π±Ρ€ΠΎΠΈΠΌ MySQL Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Ρ‡Ρ€Π΅Π· командния Ρ€Π΅Π΄ Π½Π° Linux

Π˜Π·Π±Ρ€ΠΎΡΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° всички MySQL Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ командния Ρ€Π΅Π΄ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° с Π΅Π΄ΠΈΠ½ SQL ΠΈΠ·Ρ€Π°Π· β€” SHOW DATABASES; β€” изпълнСн слСд удостовСряванС Π½Π° самоличността към MySQL ΡΡŠΡ€Π²ΡŠΡ€Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° mysql. Π’ΠΎΠ²Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° всяка Linux дистрибуция, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰Π° с MySQL 5.7, MySQL 8.x ΠΈΠ»ΠΈ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ MariaDB ΡΡŠΡ€Π²ΡŠΡ€, ΠΈ изисква ΠΈΠ»ΠΈ привилСгията SHOW DATABASES, ΠΈΠ»ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ ΠΊΠ°Ρ‚ΠΎ супСрпотрСбитСл.

Π’ΠΎΠ²Π° Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π½Π°Π΄Ρ…Π²ΡŠΡ€Π»Ρ основната ΠΊΠΎΠΌΠ°Π½Π΄Π°. Π’ΠΎ ΠΎΠ±Ρ…Π²Π°Ρ‰Π° ΠΎΠΏΡ†ΠΈΠΈ Π·Π° удостовСряванС, видимост спорСд ΠΎΠ±Ρ…Π²Π°Ρ‚Π° Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈΡ‚Π΅, шаблони Π·Π° Π½Π΅ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ скриптиранС, Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° performance schema ΠΈ чСсто срСщани Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ затрудняват Π΄ΠΎΡ€ΠΈ ΠΎΠΏΠΈΡ‚Π½ΠΈ администратори.

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΈ изисквания

ΠŸΡ€Π΅Π΄ΠΈ Π΄Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅, ΠΏΠΎΡ‚Π²ΡŠΡ€Π΄Π΅Ρ‚Π΅ слСдното:

  • MySQL Server ΠΈΠ»ΠΈ MariaDB Π΅ инсталиран ΠΈ услугата Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½Π°.
  • Π˜ΠΌΠ°Ρ‚Π΅ потрСбитСлски Π°ΠΊΠ°ΡƒΠ½Ρ‚ с ΠΏΠΎΠ½Π΅ привилСгията SHOW DATABASES, ΠΈΠ»ΠΈ сС удостовСряватС ΠΊΠ°Ρ‚ΠΎ root.
  • Бинарният Ρ„Π°ΠΉΠ» Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° mysql Π΅ Π½Π°Π»ΠΈΡ‡Π΅Π½ Π² PATH Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° (ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ с which mysql).

Ако управляватС ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ ΡΡŠΡ€Π²ΡŠΡ€ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ срСда Π·Π° VPS Π₯остинг β€” ΡƒΠ²Π΅Ρ€Π΅Ρ‚Π΅ сС ΡΡŠΡ‰ΠΎ, Ρ‡Π΅ MySQL ΠΏΠΎΡ€Ρ‚ΡŠΡ‚ (ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ 3306) Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ ΠΈΠ»ΠΈ Ρ‡Π΅ сС ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚Π΅ Ρ‡Ρ€Π΅Π· SSH.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 1: ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ Π΄Π°Π»ΠΈ MySQL услугата Ρ€Π°Π±ΠΎΡ‚ΠΈ

ΠŸΡ€Π΅Π΄ΠΈ Π΄Π° сС ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅ Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅, ΠΏΠΎΡ‚Π²ΡŠΡ€Π΄Π΅Ρ‚Π΅, Ρ‡Π΅ Π΄Π΅ΠΌΠΎΠ½ΡŠΡ‚ Π΅ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½:

sudo systemctl status mysql

ΠŸΡ€ΠΈ инсталации Π½Π° MariaDB ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° услугата Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎ:

sudo systemctl status mariadb

Ако услугата Π΅ спряна, стартирайтС я:

sudo systemctl start mysql

ΠΠ΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡ‚ΠΎ стартиранС ΠΏΠΎΡ‡Ρ‚ΠΈ Π²ΠΈΠ½Π°Π³ΠΈ сС обяснява Π² journalctl -xe ΠΈΠ»ΠΈ Π² /var/log/mysql/error.log. ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ Ρ‚Π΅Π·ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΏΡŠΡ€Π²ΠΎ, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ΅Ρ‚Π΅, Ρ‡Π΅ ΠΈΠΌΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с конфигурацията.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 2: УдостовСрСтС самоличността си към MySQL ΡΡŠΡ€Π²ΡŠΡ€Π°

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π²Π»ΠΈΠ·Π°Π½Π΅

mysql -u root -p
  • -u root β€” ΡƒΠΊΠ°Π·Π²Π° потрСбитСлското ΠΈΠΌΠ΅ Π·Π° MySQL. Π—Π°ΠΌΠ΅Π½Π΅Ρ‚Π΅ root с всСки Π²Π°Π»ΠΈΠ΄Π΅Π½ Π°ΠΊΠ°ΡƒΠ½Ρ‚.
  • -p β€” ΠΏΠΎΠ΄ΠΊΠ°Π½Π²Π° Π·Π° ΠΏΠ°Ρ€ΠΎΠ»Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ. Никога Π½Π΅ ΠΏΡ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»Π°Ρ‚Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² командния Ρ€Π΅Π΄ Π² производствСна срСда (Π½Π°ΠΏΡ€. -pMyPassword), Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ тя Π΅ Π²ΠΈΠ΄ΠΈΠΌΠ° Π² ΡΠΏΠΈΡΡŠΡ†ΠΈΡ‚Π΅ с процСси ΠΈ историята Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°Ρ‚Π°.

Π‘Π»Π΅Π΄ въвСТданС Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½Π° ΠΏΠ°Ρ€ΠΎΠ»Π° сС появява ΠΏΠΎΠ΄ΠΊΠ°Π½Π°Ρ‚Π° Π½Π° MySQL:

mysql>

Π‘Π²ΡŠΡ€Π·Π²Π°Π½Π΅ към ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ хост ΠΈΠ»ΠΈ нСстандартСн ΠΏΠΎΡ€Ρ‚

mysql -u root -p -h 192.168.1.100 -P 3307
  • -h β€” ΡƒΠΊΠ°Π·Π²Π° IP адрСса ΠΈΠ»ΠΈ хостнСйма Π½Π° отдалСчСния хост.
  • -P β€” ΡƒΠΊΠ°Π·Π²Π° нСстандартСн Π½ΠΎΠΌΠ΅Ρ€ Π½Π° ΠΏΠΎΡ€Ρ‚.

ИзползванС Π½Π° Ρ„Π°ΠΉΠ» с ΠΎΠΏΡ†ΠΈΠΈ Π·Π° автоматизация

Π—Π° скриптовС ΠΈ cron Π·Π°Π΄Π°Ρ‡ΠΈ, ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΉΡ‚Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π² Π·Π°Ρ‰ΠΈΡ‚Π΅Π½ Ρ„Π°ΠΉΠ» с ΠΎΠΏΡ†ΠΈΠΈ, вмСсто Π΄Π° Π³ΠΈ Π²Π³Ρ€Π°ΠΆΠ΄Π°Ρ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°:

# ~/.my.cnf
[client]
user=root
password=YourSecurePassword

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Ρ‚Π΅ ΠΏΡ€Π°Π²Π°Ρ‚Π° Π²Π΅Π΄Π½Π°Π³Π° слСд ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»Π°:

chmod 600 ~/.my.cnf

Π‘ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΎΠ·ΠΈ Ρ„Π°ΠΉΠ», mysql сС удостовСрява Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Ρ„Π»Π°Π³ΠΎΠ²Π΅:

mysql

Π‘Ρ‚ΡŠΠΏΠΊΠ° 3: Π˜Π·Π±Ρ€ΠΎΠΈΡ‚Π΅ всички Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ

Π’Π΅Π΄Π½ΡŠΠΆ Π² MySQL ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°Ρ‚Π°, ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Ρ‚Π΅:

SHOW DATABASES;

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π΅Π½ ΠΈΠ·Ρ…ΠΎΠ΄ ΠΏΡ€ΠΈ прясно инсталиран MySQL 8 СкзСмпляр:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

Π’Π΅Π·ΠΈ Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈ систСмни схСми ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π°Ρ‚ ΠΏΡ€ΠΈ всяка стандартна инсталация Π½Π° MySQL:

Π‘Ρ…Π΅ΠΌΠ°ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
`information_schema`Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° схСма само Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅, която ΠΈΠ·Π»Π°Π³Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ Π·Π° всички останали схСми, Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ, ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΈ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ
`mysql`Основни Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π·Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ, Π΄Π°Π½Π½ΠΈ Π·Π° часовитС Π·ΠΎΠ½ΠΈ ΠΈ конфигурация Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°
`performance_schema`Π”Π°Π½Π½ΠΈ Π·Π° инструмСнтиранС Π½Π° ниско Π½ΠΈΠ²ΠΎ Π·Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° заявки ΠΈ диагностика
`sys`Π§Π΅Ρ‚ΠΈΠΌΠΈ ΠΎΡ‚ Ρ…ΠΎΡ€Π° ΠΈΠ·Π³Π»Π΅Π΄ΠΈ, ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π²ΡŠΡ€Ρ…Ρƒ `performance_schema`

Π‘ΡŠΠ·Π΄Π°Π΄Π΅Π½ΠΈΡ‚Π΅ ΠΎΡ‚ потрСбитСля Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ сС появяват Π·Π°Π΅Π΄Π½ΠΎ с Ρ‚Π΅Π·ΠΈ систСмни схСми.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 4: Π€ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°ΠΉΡ‚Π΅ списъка с Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ

Π€ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ ΠΏΠΎ шаблон Π½Π° ΠΈΠΌΠ΅Ρ‚ΠΎ

SHOW DATABASES ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΊΠ»Π°ΡƒΠ·Π° LIKE, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ хоства дСсСтки Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ:

SHOW DATABASES LIKE 'wp_%';

Π’ΠΎΠ²Π° Π²Ρ€ΡŠΡ‰Π° само Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, Ρ‡ΠΈΠΈΡ‚ΠΎ ΠΈΠΌΠ΅Π½Π° Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ с wp_ β€” ΠΎΠ±Ρ‰Π° конвСнция Π·Π° ΠΈΠΌΠ΅Π½ΡƒΠ²Π°Π½Π΅ ΠΏΡ€ΠΈ инсталации Π½Π° WordPress.

Заявка към information_schema Π·Π° Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΎ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅

Π—Π° ΠΏΠΎ-ΠΏΡ€Π΅Ρ†ΠΈΠ·Π½ΠΎ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅, ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ заявка Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ към Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° information_schema.SCHEMATA:

SELECT schema_name, default_character_set_name, default_collation_name
FROM information_schema.SCHEMATA
WHERE schema_name NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys')
ORDER BY schema_name;

Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π²ΠΈ позволява Π΄Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Ρ‚Π΅ ΠΏΠΎ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ символи, ΡΡŠΠΏΠΎΡΡ‚Π°Π²ΡΠ½Π΅ ΠΈΠ»ΠΈ всяка Π΄Ρ€ΡƒΠ³Π° ΠΊΠΎΠ»ΠΎΠ½Π° с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ β€” Π½Π΅Ρ‰ΠΎ, ΠΊΠΎΠ΅Ρ‚ΠΎ SHOW DATABASES Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 5: ΠŸΡ€Π΅Π³Π»Π΅Π΄Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ

Π—Π° Π΄Π° ΠΏΡ€Π΅Π³Π»Π΅Π΄Π°Ρ‚Π΅ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΏΡ€Π΅Π²ΠΊΠ»ΡŽΡ‡Π΅Ρ‚Π΅ контСкста с USE ΠΈ слСд Ρ‚ΠΎΠ²Π° ΠΈΠ·Π±Ρ€ΠΎΠΈΡ‚Π΅ Π½Π΅ΠΉΠ½ΠΈΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ:

USE database_name;
SHOW TABLES;

Π—Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅, броя Π½Π° Ρ€Π΅Π΄ΠΎΠ²Π΅Ρ‚Π΅ ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈΡ‚Π΅ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² Π΅Π΄Π½Π° заявка:

SELECT
  table_name,
  engine,
  table_rows,
  ROUND((data_length + index_length) / 1024 / 1024, 2) AS size_mb
FROM information_schema.TABLES
WHERE table_schema = 'database_name'
ORDER BY (data_length + index_length) DESC;

Π’ΠΎΠ²Π° Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ-ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΡ‚ самостоятСлното SHOW TABLES ΠΈ Π΅ Π²ΠΈΠ΄ΡŠΡ‚ заявка, която DBA изпълнява ΠΏΡ€Π΅Π΄ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€Π°Π½Π΅ Π½Π° миграция ΠΈΠ»ΠΈ стратСгия Π·Π° Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€Π°Π½Π΅.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 6: Π˜Π·Π»Π΅Π·Ρ‚Π΅ ΠΎΡ‚ MySQL ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°Ρ‚Π°

EXIT;

Или ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΠ½Π°Ρ‚Π° комбинация Ctrl+D.

НСинтСрактивна ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°: Π˜Π·Π±Ρ€ΠΎΡΠ²Π°Π½Π΅ Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°Ρ‚Π°

Π’ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΈ β€” скриптовС Π·Π° Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€Π°Π½Π΅, Π°Π³Π΅Π½Ρ‚ΠΈ Π·Π° наблюдСниС, deployment ΠΊΡƒΠΊΠΈ β€” трябва Π΄Π° ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Ρ‚Π΅ списъка с Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, Π±Π΅Π· Π΄Π° Π²Π»ΠΈΠ·Π°Ρ‚Π΅ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π° сСсия.

Π•Π΄Π½ΠΎΡ€Π΅Π΄ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° с Ρ„Π»Π°Π³Π° -e

mysql -u root -p -e "SHOW DATABASES;"

ΠŸΠΎΡ‚ΠΈΡΠΊΠ°Π½Π΅ Π½Π° заглавния Ρ€Π΅Π΄ Π·Π° скриптиранС

mysql -u root -p --skip-column-names -e "SHOW DATABASES;" 2>/dev/null

Π€Π»Π°Π³ΡŠΡ‚ --skip-column-names ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π° Π·Π°Π³Π»Π°Π²ΠΈΠ΅Ρ‚ΠΎ Database, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°ΠΉΠΊΠΈ чист ΠΈΠ·Ρ…ΠΎΠ΄, подходящ Π·Π° итСрация Π² Ρ†ΠΈΠΊΡŠΠ» Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°Ρ‚Π°:

for db in $(mysql -u root -p --skip-column-names -e "SHOW DATABASES;" 2>/dev/null); do
  echo "Processing: $db"
done

ИзползванС Π½Π° mysqlshow ΠΊΠ°Ρ‚ΠΎ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°

ΠŸΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° mysqlshow прСдоставя Π±ΡŠΡ€Π· ΠΏΡ€Π΅Π³Π»Π΅Π΄, Π±Π΅Π· Π΄Π° Π²Π»ΠΈΠ·Π°Ρ‚Π΅ Π² MySQL ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°Ρ‚Π°:

mysqlshow -u root -p

Вя изброява всички Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ удостовСрСният ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΠΈΠΆΠ΄Π°, ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ с ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° Π΄Π΅Ρ‚Π°ΠΉΠ»Π΅Π½ ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π½Π° Π½ΠΈΠ²ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π°:

mysqlshow -u root -p database_name

ΠžΠ±Ρ…Π²Π°Ρ‚ Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈΡ‚Π΅: Π—Π°Ρ‰ΠΎ някои Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ са скрити

Π’ΠΎΠ²Π° Π΅ Π΅Π΄Π½ΠΎ ΠΎΡ‚ Π½Π°ΠΉ-Π½Π΅Ρ€Π°Π·Π±Ρ€Π°Π½ΠΈΡ‚Π΅ повСдСния Π² MySQL. ΠšΠΎΠ³Π°Ρ‚ΠΎ потрСбитСлят няма Π³Π»ΠΎΠ±Π°Π»Π½Π°Ρ‚Π° привилСгия SHOW DATABASES, SHOW DATABASES Π²Ρ€ΡŠΡ‰Π° само Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» ΠΏΡ€ΠΈΡ‚Π΅ΠΆΠ°Π²Π° ΠΏΠΎΠ½Π΅ Π΅Π΄Π½Π° привилСгия. Π’ΠΎΠ²Π° Π΅ ΠΏΠΎ замисъл β€” Ρ‚ΠΎΠ²Π° Π΅ Π³Ρ€Π°Π½ΠΈΡ†Π° Π½Π° сигурността, Π° Π½Π΅ Π³Ρ€Π΅ΡˆΠΊΠ°.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° изпълни SHOW DATABASES; ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈ само Π΅Π΄Π½Π° ΠΈΠ»ΠΈ Π΄Π²Π΅ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, Π΄ΠΎΡ€ΠΈ Π°ΠΊΠΎ ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ хоства пСтдСсСт. Π’ΠΎΠ²Π° Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. Ако потрСбитСлят трябва Π΄Π° Π²ΠΈΠΆΠ΄Π° пълния списък, прСдоставСтС привилСгията ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ:

GRANT SHOW DATABASES ON *.* TO 'username'@'host';
FLUSH PRIVILEGES;

Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ Ρ‚ΠΎΠ²Π° прСдоставянС пСстСливо. Π’ срСди с мноТСство Π½Π°Π΅ΠΌΠ°Ρ‚Π΅Π»ΠΈ β€” ΠΊΠ°Ρ‚ΠΎ настройка Π·Π° Π‘ΠΏΠΎΠ΄Π΅Π»Π΅Π½ Π£Π΅Π± Π₯остинг ΠΈΠ»ΠΈ внСдряванС Π½Π° Dedicated Π‘ΡŠΡ€Π²ΡŠΡ€ΠΈ с мноТСство ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ β€” ΠΈΠ·Π»Π°Π³Π°Π½Π΅Ρ‚ΠΎ Π½Π° пълния списък с Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° прилоТСния Π΅ риск Π·Π° сигурността.

MySQL срСщу MariaDB: ΠŸΠΎΠ²Π΅Π΄Π΅Π½Ρ‡Π΅ΡΠΊΠΈ Ρ€Π°Π·Π»ΠΈΠΊΠΈ

И MySQL, ΠΈ MariaDB ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ SHOW DATABASES; ΠΈ information_schema.SCHEMATA, Π½ΠΎ ΠΈΠΌΠ° Ρ„ΠΈΠ½ΠΈ Ρ€Π°Π·Π»ΠΈΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ си струва Π΄Π° Π·Π½Π°Π΅Ρ‚Π΅:

ЀункцияMySQL 8.xMariaDB 10.x
Бинтаксис `SHOW DATABASES`ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½
`information_schema.SCHEMATA`НаличСнНаличСн
По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ `performance_schema`АктивиранАктивиран (10.5+)
Π‘Ρ…Π΅ΠΌΠ° `sys`Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ΠŸΠΎ ΠΈΠ·Π±ΠΎΡ€, Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π°
`SHOW DATABASES LIKE`ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½
МодСл Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° Ρ€ΠΎΠ»ΠΈΠ’Π³Ρ€Π°Π΄Π΅Π½ (8.0+)Π’Π³Ρ€Π°Π΄Π΅Π½ (10.0.5+)
Π‘ΠΈΠ½Π°Ρ€Π΅Π½ Ρ„Π°ΠΉΠ» Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° `mysql``mysql``mysql` ΠΈΠ»ΠΈ `mariadb`

ΠŸΡ€ΠΈ ΠΏΠΎ-Π½ΠΎΠ²ΠΈ инсталации Π½Π° MariaDB, каноничният Π±ΠΈΠ½Π°Ρ€Π΅Π½ Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ mariadb вмСсто mysql, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ символна Π²Ρ€ΡŠΠ·ΠΊΠ° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π·Π°ΠΏΠ°Π·Π²Π° ΠΎΠ±Ρ€Π°Ρ‚Π½Π°Ρ‚Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚.

ЧСсти Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚Π΅

ERROR 1045 (28000): Access denied for user

Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ удостовСряванСто Π΅ Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ. ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ потрСбитСлското ΠΈΠΌΠ΅, ΠΏΠ°Ρ€ΠΎΠ»Π°Ρ‚Π° ΠΈ хоста. Π—Π° root Π² MySQL 8, приставката Π·Π° удостовСряванС ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ caching_sha2_password. Ако Π²Π°ΡˆΠΈΡΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π½Π΅ я ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°, ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ сС Ρ‡Ρ€Π΅Π· сокСт:

sudo mysql -u root

Π’ΠΎΠ²Π° заобикаля удостовСряванСто с ΠΏΠ°Ρ€ΠΎΠ»Π° ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° ΠΊΠ°Ρ‚ΠΎ Linux потрСбитСля root, Ρ€Π°Π·Ρ‡ΠΈΡ‚Π°ΠΉΠΊΠΈ вмСсто Ρ‚ΠΎΠ²Π° Π½Π° приставката auth_socket ΠΈΠ»ΠΈ unix_socket.

ERROR 2002 (HY000): Can't connect to local MySQL server through socket

MySQL Π΄Π΅ΠΌΠΎΠ½ΡŠΡ‚ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΈΠ»ΠΈ ΠΏΡŠΡ‚ΡΡ‚ Π΄ΠΎ Ρ„Π°ΠΉΠ»Π° Π½Π° сокСта Π΅ Π³Ρ€Π΅ΡˆΠ΅Π½. ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Ρ‚Π΅:

sudo systemctl status mysql
ls -la /var/run/mysqld/mysqld.sock

ERROR 1044 (42000): Access denied for user to database

ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΡ‚ Π΅ удостовСрСн, Π½ΠΎ няма ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π²ΡŠΡ€Ρ…Ρƒ Ρ†Π΅Π»Π΅Π²Π°Ρ‚Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. ΠŸΡ€Π΅Π³Π»Π΅Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈΡ‚Π΅ с:

SHOW GRANTS FOR 'username'@'host';

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π·Π° Π²Π·Π΅ΠΌΠ°Π½Π΅ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ Ρ‚Π°Π·ΠΈ справка, Π·Π° Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ правилния ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π·Π° Π²Π°ΡˆΠ°Ρ‚Π° ситуация:

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉΠŸΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π°Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°
Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ изслСдванС`SHOW DATABASES;` Π² ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°Ρ‚Π° `mysql`
Π€ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ ΠΏΠΎ прСфикс Π½Π° ΠΈΠΌΠ΅Ρ‚ΠΎ`SHOW DATABASES LIKE 'prefix_%';`
Π˜Π·Π±Ρ€ΠΎΡΠ²Π°Π½Π΅ с Π±ΠΎΠ³Π°Ρ‚ΠΈ мСтаданниЗаявка към `information_schema.SCHEMATA`
Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°Ρ‚Π° / автоматизация`mysql -e "SHOW DATABASES;" –skip-column-names`
Π‘ΡŠΡ€Π· ΠΏΡ€Π΅Π³Π»Π΅Π΄ Π±Π΅Π· ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°`mysqlshow -u root -p`
ΠžΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ ΡΡŠΡ€Π²ΡŠΡ€, нСстандартСн ΠΏΠΎΡ€Ρ‚`mysql -u root -p -h host -P port`
Автоматизация Π±Π΅Π· ΠΏΠ°Ρ€ΠΎΠ»Π°Π€Π°ΠΉΠ» с ΠΎΠΏΡ†ΠΈΠΈ `~/.my.cnf` с `chmod 600`
ΠžΡ‚ΡΡ‚Ρ€Π°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с Π΄ΠΎΡΡ‚ΡŠΠΏΠ°`SHOW GRANTS FOR 'user'@'host';`

ΠšΠ»ΡŽΡ‡ΠΎΠ²ΠΈ тСхничСски ΠΈΠ·Π²ΠΎΠ΄ΠΈ

  • SHOW DATABASES; Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΎΡ‚ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ. ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» Π±Π΅Π· Π³Π»ΠΎΠ±Π°Π»Π½Π° привилСгия SHOW DATABASES Π²ΠΈΠΆΠ΄Π° само Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, Π΄ΠΎ ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ° ΠΈΠ·Ρ€ΠΈΡ‡Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ β€” Ρ‚ΠΎΠ²Π° Π΅ функция Π·Π° сигурност, Π° Π½Π΅ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»Π½Π° конфигурация.
  • Никога Π½Π΅ ΠΏΡ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ ΠΊΠ°Ρ‚ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° командния Ρ€Π΅Π΄ Π² производствСна срСда. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ -p Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ сСсии ΠΈ ~/.my.cnf Π·Π° автоматизация.
  • information_schema.SCHEMATA Π΅ строго ΠΏΠΎ-ΠΌΠΎΡ‰Π΅Π½ ΠΎΡ‚ SHOW DATABASES Π·Π° скриптирани ΠΈΠ»ΠΈ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½ΠΈ заявки.
  • ΠŸΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° mysqlshow Π΅ Π½Π΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° ΠΈ осигурява Π±ΡŠΡ€Π·Π°, Π½Π΅ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π° инспСкция Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ.
  • ΠŸΡ€ΠΈ MySQL 8, удостовСряванСто Ρ‡Ρ€Π΅Π· сокСт (sudo mysql) Π΅ чСсто Π½Π°ΠΉ-Π±ΡŠΡ€Π·ΠΈΡΡ‚ ΠΏΡŠΡ‚ Π΄ΠΎ root Π΄ΠΎΡΡ‚ΡŠΠΏ Π½Π° Π»ΠΎΠΊΠ°Π»Π΅Π½ ΡΡŠΡ€Π²ΡŠΡ€.
  • ΠŸΡ€ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° мноТСство Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° VPS с cPanel ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Π½ ΠΏΠ°Π½Π΅Π», ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΡŠΡ‚ Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»Π° Π΅ GUI ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° ΠΎΠΊΠΎΠ»ΠΎ ΡΡŠΡ‰ΠΈΡ‚Π΅ Ρ‚Π΅Π·ΠΈ SQL ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ β€” Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° основнитС заявки Π²ΠΈ Π΄Π°Π²Π° пълСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ», ΠΊΠΎΠ³Π°Ρ‚ΠΎ GUI Π½Π΅ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π΅Π½.
  • Π—Π° срСди, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π΄ΠΎ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π΅ ΡΠ²ΡŠΡ€Π·Π°Π½ със SSL Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΈ ΠΈ ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°Π½ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ, Π΄ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ --ssl-mode=REQUIRED към извикванията Π½Π° вашия ΠΊΠ»ΠΈΠ΅Π½Ρ‚ mysql, Π·Π° Π΄Π° Π½Π°Π»ΠΎΠΆΠΈΡ‚Π΅ TLS ΠΏΡ€ΠΈ прСнос.

Π§Π—Π’

Π’: Π—Π°Ρ‰ΠΎ SHOW DATABASES Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π²Π° всички Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° моя ΡΡŠΡ€Π²ΡŠΡ€?

О: ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈΡΡ‚ Π°ΠΊΠ°ΡƒΠ½Ρ‚, с ΠΊΠΎΠΉΡ‚ΠΎ стС удостовСрСни, няма Π³Π»ΠΎΠ±Π°Π»Π½Π°Ρ‚Π° привилСгия SHOW DATABASES. MySQL Π²Ρ€ΡŠΡ‰Π° само Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» ΠΏΡ€ΠΈΡ‚Π΅ΠΆΠ°Π²Π° ΠΏΠΎΠ½Π΅ Π΅Π΄Π½Π° привилСгия. УдостовСрСтС сС ΠΊΠ°Ρ‚ΠΎ root ΠΈΠ»ΠΈ прСдоставСтС привилСгията SHOW DATABASES, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅ пълния списък.

Π’: Каква Π΅ Ρ€Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ SHOW DATABASES ΠΈ заявка към information_schema.SCHEMATA?

О: И Π΄Π²Π΅Ρ‚Π΅ Π²Ρ€ΡŠΡ‰Π°Ρ‚ списъка с Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ схСми, Π½ΠΎ information_schema.SCHEMATA ΠΈΠ·Π»Π°Π³Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ β€” Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ символи ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, ΡΡŠΠΏΠΎΡΡ‚Π°Π²ΡΠ½Π΅ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ β€” ΠΈ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° пълно SQL Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ с WHERE, ORDER BY ΠΈ JOIN. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ SHOW DATABASES Π·Π° Π±ΡŠΡ€Π·ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ information_schema.SCHEMATA Π·Π° скриптирани ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π½ΠΈ заявки.

Π’: Как Π΄Π° изброя Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ MySQL ΡΡŠΡ€Π²ΡŠΡ€, Π±Π΅Π· Π΄Π° отварям ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π° сСсия?

О: Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ Ρ„Π»Π°Π³Π° -e Π² комбинация с ΠΎΠΏΡ†ΠΈΠΈ Π·Π° хост ΠΈ ΠΏΠΎΡ€Ρ‚:

mysql -u root -p -h remote-host -P 3306 -e "SHOW DATABASES;" --skip-column-names

Π’: Мога Π»ΠΈ Π΄Π° изброя MySQL Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, Π±Π΅Π· Π΄Π° Π·Π½Π°ΠΌ root ΠΏΠ°Ρ€ΠΎΠ»Π°Ρ‚Π°?

О: На Π»ΠΎΠΊΠ°Π»Π΅Π½ ΡΡŠΡ€Π²ΡŠΡ€, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΈΠΌΠ°Ρ‚Π΅ Linux root Π΄ΠΎΡΡ‚ΡŠΠΏ, Π΄Π°. ΠŸΡ€ΠΈΡΡ‚Π°Π²ΠΊΠ°Ρ‚Π° auth_socket Π½Π° MySQL (ΠΈΠ»ΠΈ unix_socket ΠΏΡ€ΠΈ MariaDB) удостовСрява въз основа Π½Π° Linux OS потрСбитСля. Π˜Π·ΠΏΡŠΠ»Π½Π΅Ρ‚Π΅ sudo mysql ΠΈ Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏ ΠΊΠ°Ρ‚ΠΎ MySQL потрСбитСля root Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ°Π½Π° Π·Π° ΠΏΠ°Ρ€ΠΎΠ»Π°.

Π’: Π Π°Π±ΠΎΡ‚ΠΈ Π»ΠΈ SHOW DATABASES ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½ ΠΏΡ€ΠΈ MariaDB, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈ MySQL?

О: Π‘ΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡΡŠΡ‚ Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π·Π° ΠΎΠ±Ρ…Π²Π°Ρ‚ Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈΡ‚Π΅ са ΡΡŠΡ‰ΠΈΡ‚Π΅. ΠžΡΠ½ΠΎΠ²Π½Π°Ρ‚Π° практичСска Ρ€Π°Π·Π»ΠΈΠΊΠ° Π΅, Ρ‡Π΅ MariaDB ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π²Π° схСмата sys ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, Π° ΠΏΡ€ΠΈ ΠΏΠΎ-Π½ΠΎΠ²ΠΈ вСрсии Π½Π° MariaDB прСдпочитаният Π±ΠΈΠ½Π°Ρ€Π΅Π½ Ρ„Π°ΠΉΠ» Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π΅ mariadb вмСсто mysql, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡŠΡ‚ mysql ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС Π·Π°ΠΏΠ°Π·Π²Π° Π·Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚.