FAQ - Питання що часто задаються

Будь ласка, подивіться на наш Link section на офіційній сторінці phpMyAdmin для поглибленого висвітлення функцій phpMyAdmin або інтерфейсу.

Сервер

1.1 Сервер дає збій кожного разу, коли потрібна конкретна дія, або phpMyAdmin надсилає браузеру порожню сторінку або сторінку, повну загадкових символів, що я можу зробити?

Try to set the $cfg['OBGzip'] directive to false in your config.inc.php file and the zlib.output_compression directive to Off in your php configuration file.

1.2 Сервер Apache призводить до збою при використанні phpMyAdmin.

Спершу слід спробувати найновіші версії Apache (і, можливо, MySQL). Якщо ваш сервер продовжує збої, зверніться по допомогу до різних груп підтримки Apache.

1.3 (знято).

1.4. Використовуючи phpMyAdmin в IIS, з’являється повідомлення про помилку: „Вказана CGI-програма неправильно оброблена, якщо не повертається повний набір заголовків HTTP …“.

Ви просто забули прочитати файл install.txt з дистрибутива PHP. Ознайомтеся з останнім повідомленням у цьому PHP bug report #12061 з офіційної бази даних помилок PHP.

1.5. Використовуючи phpMyAdmin у IIS, я стикаюсь із збоями та/або багатьма повідомленнями про помилки з HTTP.

Це відома проблема з PHP ISAPI фільтром: він не настільки стабільний. Замість нього використовуйте режим аутентифікації файлів cookie.

1.6 Я не можу використовувати phpMyAdmin на PWS: нічого не відображається!

This seems to be a PWS bug. Filippo Simoncini found a workaround (at this time there is no better fix): remove or comment the DOCTYPE declarations (2 lines) from the scripts src/Header.php and index.php.

1.7 Як я можу отримати gzip-файл з дампа чи CSV-експорту? Це, здається, не працює.

Ця особливість базується на gzencode() функції PHP, щоб бути більш незалежними від платформи (Unix / Windows, Safe Mode чи ні, і так далі). Отже, ви повинні мати підтримку Zlib (--with-zlib).

1.8 Я не можу вставити текстовий файл у таблицю, і отримую помилку про діючий безпечний режим.

Ваш завантажений файл зберігається в PHP у «upload dir», як визначено в php.ini за змінною upload_tmp_dir (зазвичай система за замовчуванням /tmp). Ми рекомендуємо наступні налаштування для серверів Apache, що працюють в безпечному режимі, для забезпечення завантаження файлів при достатній безпеці:

  • створити окрему директорію для завантаження: mkdir /tmp/php
  • надати право власності на user.group сервера Apache: chown apache.apache /tmp/php
  • дати відповідний дозвіл: chmod 600 /tmp/php
  • помістити upload_tmp_dir = /tmp/php в php.ini
  • перезапустіть Apache

1.9 (знято).

1.10 У мене виникають проблеми при завантаженні файлів за допомогою phpMyAdmin на безпечному сервері. Мій браузер Internet Explorer, і я використовую сервер Apache.

Як запропонував «Rob M» у форумі phpWizard, додайте цей рядок у httpd.conf:

SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

Здається, виявлено багато проблем між Internet Explorer та SSL.

1.11. Під час завантаження файлу з вкладки імпорту я отримую „open_basedir restriction“.

З версії 2.2.4 phpMyAdmin підтримує сервери з open_basedir обмеженням. Однак вам потрібно створити тимчасовий каталог і налаштувати його як $cfg['TempDir']. Завантажені файли будуть переміщені туди та після виконання SQL команд, будуть видалені.

1.12 Я втратив root пароль MySQL, що я можу зробити?

phpMyAdmin перевіряє автентифікацію на сервері MySQL, який ви використовуєте, так щоб відновити втрату пароля phpMyAdmin, потрібно відновити його на рівні MySQL.

Посібник MySQL пояснює, як скинути дозволи.

Якщо ви використовуєте сервер MySQL, встановлений вашим провайдером хостингу, зверніться до їхньої служби підтримки, щоб відновити пароль.

1.13 (знято).

1.14 (знято).

1.15 У мене проблеми з іменами стовпців mysql.user.

У попередніх версіях MySQL стовпці Користувач та Пароль були названі користувач і пароль. Будь ласка, змініть свої назви стовпців, щоб відповідати поточним стандартам.

1.16 Я не можу завантажувати великі файли дампа (проблеми з пам’яттю, HTTP або тайм-аут).

Починаючи з версії 2.7.0, двигун імпорту був переписаний, і ці проблеми не повинні виникати. Якщо можливо, оновіть phpMyAdmin до останньої версії, щоб скористатися перевагами нових функцій імпорту.

Перше, що потрібно перевірити (або попросіть свого постачальника послуг-хоста перевірити) значення max_execution_time, upload_max_filesize, memory_limit і post_max_size в php.ini файлі конфігурації. Всі ці налаштування обмежують максимальний розмір даних, які можуть бути передані та оброблені PHP. Будь ласка, зверніть увагу, що post_max_size має бути більше, ніж upload_max_filesize. Існує кілька способів вирішення проблем, якщо завантаження завелике, або хостинг-провайдер не бажає змінювати налаштування:

  • Подивіться на $cfg['UploadDir'] особливість. Це дозволяє завантажити файл на сервер через scp, FTP або ваш улюблений спосіб передачі файлів. Після цього phpMyAdmin може імпортувати файли з тимчасового каталогу. Детальніша інформація доступна в Конфігурація цього документа.

  • Використовуючи утиліту (наприклад, BigDump), розділіть файли перед завантаженням. Ми не можемо підтримувати ці або інші сторонні програми, але усвідомлюємо, що користувачі мають успіх у цьому.

  • Якщо у вас є доступ до оболонки (командного рядка), використовуйте MySQL для імпорту файлів безпосередньо. Ви можете зробити це, видавши команду «source» з MySQL:

    source filename.sql;
    

1.17 Яку версію баз даних підтримує phpMyAdmin?

Для MySQL, версії 5.5 та новіші підтримуються. Для старіших версій MySQL наша Downloads сторінка пропонує старіші версії phpMyAdmin (які можуть бути непідтримуваними).

Для MariaDB, версії 5.5 та новіші підтримуються.

1.17. Я не можу підключитися до сервера MySQL. Він завжди повертає повідомлення про помилку: «Клієнт не підтримує протокол автентифікації, який запитує сервер, розгляньте оновлення клієнта MySQL»

Ви намагалися отримати доступ до MySQL зі старою клієнтською бібліотекою MySQL. Версію вашої клієнтської бібліотеки MySQL можна перевірити на виході phpinfo(). Загалом, він повинен мати принаймні ту ж проміжну версію, що і ваш сервер - як згадувалося в 1.17 Яку версію баз даних підтримує phpMyAdmin?. Ця проблема, як правило, викликана використанням MySQL версії 4.1 або новішої версії. MySQL змінив хеш аутентифікації, і ваш PHP намагається використовувати старий метод. Правильним рішенням є використання mysqli extension з належною бібліотекою клієнта, щоб відповідати вашій установці MySQL. Детальніша інформація (і декілька обхідних рішень) містяться в Документація MySQL.

1.18 (знято).

1.19 Я не можу запустити функцію «відображення відносин», оскільки скрипт, схоже, не знає шрифт який я використовую!

Бібліотека TCPDF, яку ми використовуємо для цієї функції, вимагає використання спеціальних файлів для обміну шрифтами. Будь-ласка, зверніться до TCPDF manual для створення цих файлів.

1.20 Я отримую помилку про відсутність розширень mysqli і mysql.

Щоб підключитися до сервера MySQL, PHP потребує набір функцій MySQL, що називаються «MySQL extension». Це розширення може бути частиною розподілу PHP (compiled-in), інакше він повинен бути завантажений динамічно. Ймовірно, його назва mysqli.so or php_mysqli.dll. phpMyAdmin намагався завантажити розширення, але не вдалося. Зазвичай проблема вирішується шляхом встановлення програмного пакета під назвою „PHP-MySQL“ або щось подібне.

There was two interfaces PHP provided as MySQL extensions - mysql and mysqli. The mysql interface was removed in PHP 7.0.

Ця проблема може також бути викликана неправильними шляхами в php.ini або неправильним використанням php.ini.

Переконайтеся, що файли розширення існують у папці, в якій extension_dir вказує на те, що відповідні рядки у вашому php.ini не коментуються (ви можете використовувати phpinfo () для перевірки поточної настройки):

[PHP]

; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:/Apache2/modules/php/ext"

Файл php.ini може бути завантажений з декількох місць (особливо в Windows), тому, будь ласка, перевірте, чи оновлюється правильно файл. Якщо ви використовуєте Apache, ви можете вказати йому використовувати певний шлях для цього файлу за допомогою директиви PHPIniDir:

LoadModule php7_module "C:/php7/php7apache2_4.dll"
<IfModule php7_module>
    PHPIniDir "C:/php7"
    <Location>
       AddType text/html .php
       AddHandler application/x-httpd-php .php
    </Location>
</IfModule>

In some rare cases this problem can be also caused by other extensions loaded in PHP which prevent MySQL extensions to be loaded. If anything else fails, you can try commenting out extensions for other databases from php.ini.

1.22. Я не бачу поля «Розташування текстового файлу», тому я не можу завантажити.

Це, швидше за все, тому що в php.ini, ваш file_uploads параметр не встановлено до «on».

1.23 Я запускаю MySQL на машині Win32. Кожного разу, коли я створюю нову таблицю, імена стовпців та таблиць змінюються на нижній регістр!

Це відбувається через директиву MySQL lower_case_table_names за замовчуванням 1 (ON) в Win32 версії MySQL. Ви можете змінити цю поведінку, просто змінюючи директиву на 0 (OFF): Просто відредагуйте свій my.ini файл яка повинна бути розташована у вашій директорії Windows і додати до групи [mysqld] наступний рядок:

set-variable = lower_case_table_names=0

Примітка

Примушування цієї змінної до 0 за допомогою –lower-case-table-names=0 для файлообмінної системи, що не стосується регістру, і доступ до таблиць MyISAM, використовуючи різні символи, може призвести до пошкодження індексу.

Далі, збережіть файл і перезапустіть службу MySQL. Ви завжди можете перевірити значення цієї директиви за допомогою запиту

SHOW VARIABLES LIKE 'lower_case_table_names';

1.24 (знято).

1.25 Я використовую Apache за допомогою mod_gzip-1.3.26.1a в Windows XP, і я отримую проблеми, такі як невизначені змінні, коли я запускаю SQL-запит.

Підказка від Jose Fandos: додайте коментар до наступних двох рядків у httpd.conf, ось так:

# mod_gzip_item_include file \.php$
# mod_gzip_item_include mime "application/x-httpd-php.*"

оскільки в цій версії mod_gzip в Apache (Windows) виникають проблеми з обробкою скриптів PHP. Звичайно, вам доведеться перезапустити Apache.

1.26 Я тільки встановив phpMyAdmin в корені документа IIS, але при спробі запустити phpMyAdmin я отримую помилку «Не вказано вхідний файл».

This is a permission problem. Right-click on the phpmyadmin folder and choose properties. Under the tab Security, click on «Add» and select the user «IUSR_machine» from the list. Now set their permissions and it should work.

1.27 Я отримую порожні сторінки, коли хочу переглянути велику сторінку (наприклад, db_structure.php з великою кількістю таблиць).

Це було спричинено PHP помилкою що виникає при ввімкненій буферизації виводу GZIP. Якщо ви вимкнете ($cfg['OBGzip'] в config.inc.php), це повинно працювати. Ця помилка буде виправлена в PHP 5.0.0.

1.28 Мій сервер MySQL іноді відмовляється від запитів і повертає повідомлення „Errorcode: 13“. Що це значить?

Це може статися через помилку MySQL при наявності імен бази даних/таблиць з символами верхнього регістру, хоча lower_case_table_names встановлено на 1. Щоб це виправити, вимкніть цю директиву, переведіть всі імена бази даних та таблиць в нижній регістр і знову ввімкніть. Крім того, помилка виправлення доступна, починаючи з MySQL 3.23.56 / 4.0.11-gamma.

1.29. Коли я створюю таблицю або змінюю стовпець, я отримую помилку, а стовпці дублюються.

Можливо Apache налаштований таким чином, що PHP має проблеми з інтерпретацією файлів .php.

Проблеми виникають, коли використовуються два різні (і суперечливі) набори директив:

SetOutputFilter PHP
SetInputFilter PHP

і

AddType application/x-httpd-php .php

У тому випадку, коли бачили, один набір директив в /etc/httpd/conf/httpd.conf, а інший - в /etc/httpd/conf/addon-modules/php.conf. Рекомендований спосіб з AddType, просто коментувати перший набір рядків і перезапустити Apache:

#SetOutputFilter PHP
#SetInputFilter PHP

1.30 Я отримую помилку «navigation.php: Missing hash».

Ця проблема, як відомо, відбувається, коли сервер працює на Turck MMCache, але оновлення MMCache до версії 2.3.21 вирішує проблему.

1.31 Які PHP версії підтримує phpMyAdmin?

Починаючи з версії 4.5, phpMyAdmin підтримує тільки PHP 5.5 і новіші версії. З часу випуску 4.1 phpMyAdmin підтримує лише PHP 5.3 і новіші версії. Для PHP 5.2 ви можете використовувати версії 4.0.x.

PHP 7 підтримується з phpMyAdmin 4.6, PHP 7.1 підтримується з 4.6.5, PHP 7.2 is supported since 4.7.4.

HHVM підтримується до версії phpMyAdmin 4.8.

Since release 5.0, phpMyAdmin supports only PHP 7.1 and newer. Since release 5.2, phpMyAdmin supports only PHP 7.2 and newer. Since release 6.0, phpMyAdmin supports only PHP 8.1 and newer.

1.32 Чи можу я використовувати HTTP-аутентифікацію за допомогою IIS?

Так. Ця процедура була перевірена за допомогою phpMyAdmin 2.6.1, PHP 4.3.9 в ISAPI режимі під IIS 5.1.

  1. У файлі php.ini, встановити cgi.rfc2616_headers = 0
  2. У діалоговому вікні Властивості вебсайту ->Файл/Довідник безпеки -> Анонімний доступ, установіть прапорець Анонімний доступ та зніміть решту прапорців (тобто зніміть прапорець Базова аутентифікація, Вбудована аутентифікація Windows і Дайджест Якщо увімкнено.) Натисніть OK.
  3. У Користувацькі помилки виберіть діапазон з 401; 1 по 401; 5 та натисніть кнопку Встановити за замовчуванням.

Дивись також

RFC 2616

1,33 (знято).

1.34 Чи можу я безпосередньо отримати доступ до бази даних або табличних сторінок?

Так. У вікні ви можете використовувати URL like http://server/phpMyAdmin/index.php?server=X&db=database&table=table&target=script. Для server ви можете використовувати номер сервера, який відноситься до числового індексу хоста (від $ i) у config.inc.php. Частини таблиці та скрипти необов’язкові.

Якщо ви хочете використовувати URL-адресу типу http://server/phpMyAdmin/database[/table][/script], вам потрібно зробити додаткову конфігурацію. Наступні рядки застосовуються тільки для Apache веб-сервера. По-перше, переконайтеся, що ви включили деякі функції в глобальній конфігурації Apache. Вам потрібні увімкнути Options SymLinksIfOwnerMatch та AllowOverride FileInfo в каталозі, де встановлено phpMyAdmin, а також включити mod \ _rewrite. Тоді вам потрібно створити наступне .htaccess файл у кореневій папці встановлення phpMyAdmin (не забудьте змінити ім’я каталогу всередині нього):

RewriteEngine On
RewriteBase /path_to_phpMyAdmin
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&table=$2&target=$3 [R]
RewriteRule ^([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&target=$2 [R]
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?db=$1&table=$2 [R]
RewriteRule ^([a-zA-Z0-9_]+)$ index.php?db=$1 [R]

Змінено в версії 5.1.0: Support for using the target parameter was removed in phpMyAdmin 5.1.0. Use the route parameter instead.

1.35 Чи можу я використовувати HTTP-аутентифікацію з Apache CGI?

Так. Однак вам потрібно передати змінну аутентифікації на CGI використовуючи наступне правило перезапису:

RewriteEngine On
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]

1.36 Я отримую помилку «500 Internal Server Error».

Тут може бути багато пояснень і перегляд файлу журналу помилок вашого сервера може дати ключ.

1.38 Чи можу я використовувати phpMyAdmin на сервері, на якому увімкнено Suhosin?

Так, але значення параметрів конфігурації за замовчуванням Suhosin викликають проблеми з деякими операціями, наприклад редагування таблиці з багатьма стовпцями і ні primary key або текстуально primary key.

Конфігурація Suhosin може призвести до несправності в деяких випадках, і її не можна повністю уникнути, оскільки phpMyAdmin - це така програма, яка потребує передачі великих обсягів стовпців у одному HTTP-запиті, що є те, що Suhosin намагається запобігти. Взагалі всі suhosin.request.*, suhosin.post.* і suhosin.get.* директиви можуть негативно впливати на зручність і простоту використання phpMyAdmin. Ви завжди можете знайти у своїх журналах помилок, які обмежуються причиною скидання змінної, тому ви можете діагностувати проблему та налаштувати відповідну конфігураційну змінну.

Значення за замовчуванням для більшості параметрів налаштування Suhosin працюватимуть у більшості сценаріїв, проте, можливо, вам доведеться налаштувати принаймні наступні параметри:

Для подальшого підвищення безпеки ми також рекомендуємо ці модифікації:

Ви також можете відключити попередження, використовуючи $cfg['SuhosinDisableWarning'].

1.39 Коли я намагаюся з’єднатися через https, я можу увійти в систему, але потім моє з’єднання перенаправляється назад до http. Що може спричинити таку поведінку?

Це пов’язано з тим, що PHP-скрипти не знають, що сайт використовує https. Залежно від використовуваного веб-сервера, ви повинні налаштувати його, щоб дозволити PHP знати про URL-адресу та схему, що використовуються для її доступу.

Наприклад, переконайтеся, що в Apache в налаштуваннях ви включили SSLOptions і StdEnvVars.

1.41 Коли я переглядаю базу даних і хочу переглянути свої привілеї, я отримую помилку про невідомий стовпець.

Таблиці привілеїв MySQL не оновлюються, вам потрібно запустити команду mysql_upgrade на сервері.

1.42 Як я можу запобігти доступу роботів до phpMyAdmin?

Ви можете додати різні правила до .htaccess для фільтрації доступу за полем користувача агента. Це досить легко обійти, але може запобігти хоча б деяким роботам, які мають доступ до вашої інсталяції.

RewriteEngine on

# Allow only GET and POST verbs
RewriteCond %{REQUEST_METHOD} !^(GET|POST)$ [NC,OR]

# Ban Typical Vulnerability Scanners and others
# Kick out Script Kiddies
RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(libwww-perl|curl|wget|python|nikto|wkito|pikto|scan|acunetix).* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner).* [NC,OR]

# Ban Search Engines, Crawlers to your administrative panel
# No reasons to access from bots
# Ultimately Better than the useless robots.txt
# Did google respect robots.txt?
# Try google: intitle:phpMyAdmin intext:"Welcome to phpMyAdmin *.*.*" intext:"Log in" -wiki -forum -forums -questions intext:"Cookies must be enabled"
RewriteCond %{HTTP_USER_AGENT} ^.*(AdsBot-Google|ia_archiver|Scooter|Ask.Jeeves|Baiduspider|Exabot|FAST.Enterprise.Crawler|FAST-WebCrawler|www\.neomo\.de|Gigabot|Mediapartners-Google|Google.Desktop|Feedfetcher-Google|Googlebot|heise-IT-Markt-Crawler|heritrix|ibm.com\cs/crawler|ICCrawler|ichiro|MJ12bot|MetagerBot|msnbot-NewsBlogs|msnbot|msnbot-media|NG-Search|lucene.apache.org|NutchCVS|OmniExplorer_Bot|online.link.validator|psbot0|Seekbot|Sensis.Web.Crawler|SEO.search.Crawler|Seoma.\[SEO.Crawler\]|SEOsearch|Snappy|www.urltrends.com|www.tkl.iis.u-tokyo.ac.jp/~crawler|SynooBot|crawleradmin.t-info@telekom.de|TurnitinBot|voyager|W3.SiteSearch.Crawler|W3C-checklink|W3C_Validator|www.WISEnutbot.com|yacybot|Yahoo-MMCrawler|Yahoo\!.DE.Slurp|Yahoo\!.Slurp|YahooSeeker).* [NC]
RewriteRule .* - [F]

1.43 Чому я не можу відобразити структуру моєї таблиці, що містить сотні стовпчиків?

Оскільки memory_limit вашого PHP є занадто малим; налаштуйте в php.ini.

1.44 Як я можу зменшити встановлений розмір phpMyAdmin на диску?

Деякі користувачі просили зменшити розмір установки phpMyAdmin. Це не рекомендується і може призвести до плутанини над відсутніми функціями, але можна зробити. Список файлів та відповідних функціональних можливостей, які граціозно деградують при видаленні, включають:

  • ./locale/ тека, або невикористані підтеки (переклади інтерфейсу)
  • Any unused themes in ./public/themes/ except the default theme pmahomme.
  • ./libraries/language_stats.inc.php (translation statistics)
  • ./doc/ (документація)
  • ./setup/ (скрипт установки)
  • ./examples/ (configuration examples)
  • ./sql/ (SQL scripts to configure advanced functionalities)
  • ./js/src/ (Source files to re-build ./js/dist/)
  • ./js/global.d.ts JS type declaration file
  • Run rm -rv vendor/tecnickcom/tcpdf && composer dump-autoload –no-interaction –optimize –dev (exporting to PDF)
  • Run rm -rv vendor/williamdes/mariadb-mysql-kbs && composer dump-autoload –no-interaction –optimize –dev (external links to MariaDB and MySQL documentations)
  • Run rm -rv vendor/code-lts/u2f-php-server && composer dump-autoload –no-interaction –optimize –dev (U2F second factor authentication)
  • Run rm -rv vendor/pragmarx/* && composer dump-autoload –no-interaction –optimize –dev (2FA second factor authentication)
  • Run rm -rv vendor/bacon/bacon-qr-code && composer dump-autoload –no-interaction –optimize –dev (QRcode generation for 2FA second factor authentication)

1.45 Під час спроби входу я отримую повідомлення про невідомий метод автентифікації caching_sha2_password

Під час входу за допомогою MySQL версії 8 або новішої ви можете зіткнутися з таким повідомленням про помилку:

mysqli_real_connect(): сервер запитав метод автентифікації, невідомий клієнту [caching_sha2_password]

mysqli_real_connect(): (HY000/2054): сервер запитав метод автентифікації, невідомий клієнту

Ця помилка виникає через проблему сумісності версій між PHP і MySQL. Проект MySQL представив новий метод автентифікації (наші тести показують, що це почалося з версії 8.0.11), однак у PHP не було можливості використовувати цей метод автентифікації. PHP повідомляє, що це було виправлено у PHP версії 7.4.

Користувачам, у яких це виникло, рекомендується оновити інсталяцію PHP, однак існує обхідний шлях. Ваш обліковий запис користувача MySQL можна налаштувати на використання старішої автентифікації за допомогою такої команди, як

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';

Конфігурація

2.1 Відображається повідомлення про помилку «Попередження: неможливо додати заголовок інформації - заголовки, вже відіслані …», яка проблема?

Відредагуйте config.inc.php`файл і переконайтеся, що в ньому немає нічого ( немає порожніх рядків, без пробілів, без символів ...) ні перед тегом ``<?php` на початку, ні після в кінці тегу ?>.

2.2 phpMyAdmin не може підключитися до MySQL. Що не так?

Будь-яка помилка з налаштуванням PHP або неправильне ім’я користувача та пароль. Спробуйте створити невеликий скрипт, який використовує mysql_connect і подивіться, чи працює він. Якщо це не так, можливо, ви навіть не створили підтримку MySQL на PHP.

2.3 Повідомлення про помилку «Попередження: не вдалося підключити MySQL: неможливо підключитися до локального сервера MySQL через сокет „/tmp/mysql.sock“ (111) …». Що я можу зробити?

Повідомлення про помилку також може бути: Error #2002 - Сервер не відповідає (або локальний сервер MySQL неправильно налаштовано).

По-перше, потрібно визначити, який сокет використовує MySQL. Для цього підключіться до свого сервера та перейдіть до каталогу скриньки MySQL. У цьому каталозі повинен бути файл з назвою mysqladmin. Тип ./mysqladmin variables, і це повинно дати вам багато інформації про ваш сервер MySQL, включаючи гніздо (/tmp/mysql.sock, наприклад). Ви також можете запитати свого Інтернет-провайдера інформацію про з’єднання або, якщо ви хостите свій власний, з’єднання з клієнтом командного рядка „mysql“ і тип „статус“, щоб отримати тип з’єднання та сокет або номер порту.

Потім вам потрібно вказати PHP, щоб використовувати цей сокет. Ви можете це зробити для всіх PHP в php.ini або для phpMyAdmin тільки в config.inc.php. Наприклад: $cfg['Servers'][$i]['socket']. Будь ласка, також переконайтеся, що дозволи цього файлу дозволяють вашим веб-серверам читати.

На моєму RedHat-Box є сокет MySQL /var/lib/mysql/mysql.sock. В php.ini ви знайдете рядок

mysql.default_socket = /tmp/mysql.sock

змінити до

mysql.default_socket = /var/lib/mysql/mysql.sock

Потім перезапустіть apache, і це буде працювати.

Подивіться також відповідний розділ документації MySQL.

2.4 Мій браузер не відображає нічого, коли я намагаюся запустити phpMyAdmin, що я можу зробити?

Спробуйте встановити $cfg['OBGzip'] директиву до false у файлі конфігурації phpMyAdmin. Це деколи допомагає. Також перегляньте номер версії PHP: Якщо він містить «b» або «alpha», це означає, що ви використовуєте тестову версію PHP. Це не така гарна ідея, будь ласка, оновіть до звичайної версії.

2.6 Я отримую «Доступ відхилений для користувача: „root@localhost“ (Використання пароля: ТАК)»- помилка при спробі отримати доступ до MySQL-сервера на хості, який перенаправлений на порт для мого локального хосту.

Коли ви використовуєте порт на локальному комп’ютері, який ви переспрямовуєте через порт-пересилання на інший хост, MySQL не визнає локальний сайт, як очікувалося. Erik Wasser пояснює: Рішення є: якщо ваш хост - «localhost» MySQL (інструмент командного рядка mysql також) завжди намагається використовувати гніздо підключення для прискорення роботи. І це не працює в цій конфігурації з перенаправленням порту. Якщо ви вводите „127.0.0.1“ як ім’я хоста, все є правильним, і MySQL використовує TCP з’єднання.

2.7 Використання та створення тем

Дивіться Користувацькі теми.

2.8 Я отримую помилки «Відсутні параметри», що я можу зробити?

Ось кілька пунктів для перевірки:

  • В config.inc.php, спробуйте залишити порожньою директиву $cfg['PmaAbsoluteUri']. Дивіться також 4.7. Вікно автентифікації відображається неодноразово, чому?.
  • Можливо, у вас є пошкоджена установка PHP або вам потрібно оновити Zend Optimizer. Дивіться <https://bugs.php.net/bug.php?id=31134>.
  • Якщо ви використовуєте Hardened PHP з директивою ini varfilter.max_request_variables встановіть за замовчуванням (200) або інше низьке значення, ви можете отримати цю помилку, якщо в таблиці є велика кількість стовпців. Відрегулюйте це налаштування відповідно. (Дякуємо Klaus Dorninger за підказку).
  • В php.ini директива arg_separator.input, з значенням «;» викличе цю помилку. Замініть його «&;».
  • If you are using Suhosin, you might want to increase request limits.
  • Каталог, вказаний в php.ini директиви session.save_path не існує або доступний лише для читання (причина може бути помилка в програмі встановлення PHP).

2.9 Перегляд панелі прогресу завантаження

To be able to see a progress bar during your uploads, your server must have the uploadprogress extension, and you must be running PHP 5.4.0 or higher. Moreover, the JSON extension has to be enabled in your PHP.

Якщо використовується PHP 5.4.0 або вище, ви повинні встановити session.upload_progress.enabled до 1 в php.ini. Однак, починаючи з phpMyAdmin версії 4.0.4, успішне завантаження на основі сеансу було тимчасово вимкнено через його проблемну поведінку.

2.10 Як створити рядок випадкових байтів

One way to generate a string of random bytes suitable for cryptographic use is using the random_bytes PHP function. Since this function returns a binary string, the returned value should be converted to printable format before being able to copy it.

For example, the $cfg['blowfish_secret'] configuration directive requires a 32-bytes long string. The following command can be used to generate a hexadecimal representation of this string.

php -r 'echo bin2hex(random_bytes(32)) . PHP_EOL;'

Наведений вище приклад виведе щось подібне до:

f16ce59f45714194371b48fe362072dc3b019da7861558cd4ad29e4d6fb13851

And then this hexadecimal value can be used in the configuration file.

$cfg['blowfish_secret'] = sodium_hex2bin('f16ce59f45714194371b48fe362072dc3b019da7861558cd4ad29e4d6fb13851');

The sodium_hex2bin function is used here to convert the hexadecimal value back to the binary format.

Відомі обмеження

3.1. Використовуючи автентифікацію HTTP, користувач, який вийшов із системи, не може знову ввійти в систему з таким самим іменем.

Це пов’язано з механізмом автентифікації (протоколу), який використовує phpMyAdmin. Щоб обійти цю проблему: просто закрийте всі відкриті вікна браузера, а потім поверніться до phpMyAdmin. Ви повинні отримати можливість ввійти знову.

3.2 При скиданні великої таблиці в стиснутому режимі, я отримую помилку обмеження пам’яті або помилку обмеження часу.

Стислі дампи вбудовані в пам’ять і тому обмежуються межами пам’яті php. Для експорту gzip/bzip2 це можна подолати починаючи з версії 2.5.4 використовуючи $cfg['CompressOnFly'] (включено за замовчуванням). Експорт zip не може бути оброблений таким чином, тому, якщо вам потрібні zip-файли для більшого дампа, вам доведеться використовувати інший спосіб.

3.3 З таблицями InnoDB, коли я перейменовую таблицю або стовпець, я втрачаю зовнішні відносини.

Це помилка InnoDB, дивіться <https://bugs.mysql.com/bug.php?id=21704>.

3.4 Я не можу імпортувати дампи, створені за допомогою інструмента mysqldump, що входить до складу поставки сервера MySQL.

Проблема в тому, що старіші версії mysqldump створювали невірні коментарі, як ці:

-- MySQL dump 8.22
--
-- Host: localhost Database: database
---------------------------------------------------------
-- Server version 3.23.54

Недійсною частиною коду є горизонтальна лінія з дефісом, яка з’являється один раз у кожному зразку, створеному за допомогою mysqldump. Якщо ви хочете запустити дамп, ви повинні перетворити його в діючий MySQL. Це означає, що вам слід додати пробіл після перших двох типів рядка або додати # перед ним: -- ------------------------------------------------------- або #---------------------------------------------------------

3.5 При використанні вкладеної теки декілька ієрархій відображаються неправильно.

Зверніть увагу, що ви не повинні використовувати розділювальний рядок кілька разів без будь-яких символів між ними або на початку/в кінці назви таблиці. Якщо вам потрібно, подумайте про використання іншого TableSeparator або відключення цієї функції.

Дивись також

$cfg['NavigationTreeTableSeparator']

3.6 (знято).

3.7 У мене є таблиця з багатьма (100+) стовпцями, і коли я намагаюся переглянути таблицю, я отримую ряд помилок, таких як «Попередження: неможливо проаналізувати URL-адресу». Як це можна виправити?

Ваша таблиця також не має primary key і unique key, тому ми повинні використовувати довгий вираз для ідентифікації цього рядка. Це спричиняє проблеми для аналізу parse_url функції. Обхідний шлях - створити primary key або unique key.

3.8 Я не можу використовувати (натискати) HTML-форми у стовпцях, де я розміщую MIME-перетворення!

Через навколишню форму-контейнер (для багаторівневих прапорців), вкладені форми не можуть бути поміщені в таблицю, де phpMyAdmin відображає результати. Тим не менш, ви можете використовувати будь-яку форму всередині таблиці, якщо зберігати батьківський контейнер-форму із цільовим tbl_row_delete.php і просто помістити свої власні вхідні елементи всередину. Якщо ви використовуєте спеціальне поле введення, то форма знову повернеться на сторінку відображення, де ви можете перевірити $HTTP_POST_VARS в перетворенні. Підручник про те, як ефективно використовувати перетворення, дивіться наш Розділ посилання на офіційній сторінці phpMyAdmin.

3.9 Я отримую повідомлення про помилку при використанні «–sql_mode=ANSI» для сервера MySQL.

Коли MySQL працює в режимі сумісності з ANSI, існують деякі суттєві відмінності в тому, як SQL структурований (дивіться <https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html>). Найважливіше, символ цитати (») інтерпретується як символ кодування ідентифікатора, а не як символ рядка цитати, що робить багато внутрішніх операцій phpMyAdmin невірними SQL висловлюваннями. Не існує обхідного шляху до цієї поведінки. Новини до цього елемента будуть опубліковані в issue #7383.

3.10 Омоніми та без первинного ключа: Коли результати Вибрати показують більше одного стовпця з таким самим значенням (наприклад, SELECT lastname from employees where firstname like 'A%' і відображаються два значення «Сміт»), якщо я натискаю кнопку Редагувати, то не можу бути впевненим, що редагую призначений рядок.

Переконайтеся, що в таблиці є primary key, так що phpMyAdmin може використовувати його для редагування та видалення посилань.

3.11 Кількість рядків для таблиць InnoDB невірна.

phpMyAdmin використовує швидкий метод, щоб отримати кількість рядків, і цей метод повертає лише приблизний підрахунок у випадку з таблицями InnoDB. Дивіться $cfg['MaxExactCount'] для того, щоб змінити ці результати, але це може серйозно вплинути на продуктивність. Однак, можна легко замінити приблизний підрахунок рядків на точний, просто натиснувши на приблизний підрахунок. Це також можна зробити для всіх таблиць одразу, натиснувши суму рядків, яка відображається внизу.

Дивись також

$cfg['MaxExactCount']

3.12 (знято).

3.13 Я отримую помилку при введенні USE, а потім ім’я бази даних, що містить дефіс.

Тести, зроблені в MySQL 5.1.49, показують, що API не приймає цей синтаксис для команди USE.

3.14 Я не можу переглядати таблицю, коли я не маю права Вибрати один з стовпців.

Це відоме обмеження phpMyAdmin з самого початку, і це, швидше за все, не буде вирішено в майбутньому.

3.15 (знято).

3.16 (знято).

3.17 (знято).

3.18 Коли я імпортую файл CSV, що містить кілька таблиць, вони об’єднуються в єдину таблицю.

Немає надійного способу диференціювати таблиці в CSV формат. На даний момент вам доведеться розбивати CSV, що містять кілька таблиць.

3.19 Коли я імпортую файл і phpMyAdmin визначає відповідну структуру даних, він використовує лише int, decimal і varchar типи.

В даний час система виявлення типу імпорту може призначати лише ці типи MySQL до стовпців. В майбутньому, швидше за все буде додано більше але поки що ви маєте можливість відредагувати структуру на свій смак після імпорту. Також слід зазначити, що phpMyAdmin буде використовувати розмір найбільшого елемента в будь-якому стовпчику як розмір стовпця для відповідного типу. Якщо ви знаєте, що ви додасте більші елементи до цього стовпця, то слід вручну змінити розмір стовпців відповідно. Це робиться задля ефективності.

3.20 Після оновлення деякі закладки відсутні або їх вміст не може бути показаний.

У якийсь момент, набір символів, який використовується для зберігання вмісту закладок, змінено. Краще відтворити вашу закладку з нової версії phpMyAdmin.

3.21 Я не можу ввійти за допомогою імені користувача, що містить символи unicode, як á.

Це може статися, якщо сервер MySQL не налаштовується використовувати utf-8 як набір символів за замовчуванням. Це обмеження того, як взаємодіють сервер PHP та MySQL; PHP не може встановити кодування charset перед автентифікацією.

Інтернет провайдери, багатокористувацькі установки

4.1 Я Інтернет-провайдер. Чи можу я налаштувати одну центральну копію phpMyAdmin або мені потрібно встановити його для кожного клієнта?

З версії 2.0.3 ви можете налаштувати центральну копію phpMyAdmin для всіх ваших користувачів. Розробка цієї функції була спонсорована NetCologne GmbH. Для цього потрібно належним чином налаштувати керування користувачами MySQL та phpMyAdmin HTTP або автентифікація cookie.

4.2. Який спосіб зробити phpMyAdmin захищеним від доступу зловмисників?

Це залежить від вашої системи. Якщо ви використовуєте сервер, до якого не можуть отримати доступ інші люди, достатньо використати захист каталогів, включених у ваш веб-сервер (з Apache ви можете використовувати .htaccess файли, наприклад). Якщо інші користувачі мають доступ до telnet вашого сервера, ви повинні використовувати phpMyAdmin функції HTTP або cookie аутентифікації.

Пропозиції:

  • Ваш config.inc.php файл повинен бути chmod 660.
  • Всі ваші файли phpMyAdmin мають бути закріпленими -R phpmy.apache, де phpmy - це користувач, пароль якого відомий лише вам, а apache - це група, під якою працює Apache.
  • Дотримуйтесь рекомендацій з безпеки для PHP та вашого веб-сервера.

4.3 Я отримую помилки про неможливість включення файлу в /lang або в /libraries.

Перевірте php.ini, або попросіть системного адміністратора перевірити його. Include_path повинен містити «.» , і open_basedir, якщо він використовується, повинен містити «.» і «./lang» щоб дозволити нормальну роботу phpMyAdmin.

4.4 phpMyAdmin завжди дає «Доступ заборонено» при використанні автентифікації HTTP.

Це може статися з кількох причин:

  • $cfg['Servers'][$i]['controluser'] і/або $cfg['Servers'][$i]['controlpass'] неправильні.
  • Ім’я користувача/пароль, вказані у діалоговому вікні входу, недійсні.
  • Ви вже встановили механізм захисту для каталогу phpMyAdmin, наприклад .htaccess файл. Це буде перешкоджати автентифікації phpMyAdmin, тому видаліть його.

4.5 Чи можна дозволити користувачам створювати власні бази даних?

Starting with 2.2.5, in the user management page, you can enter a wildcard database name for a user (for example «joe%»), and put the privileges you want. For example, adding SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER would let a user create/manage their database(s).

4.6 Як я можу використовувати додаткові автентифікації на базі хоста?

Якщо у вас є існуючі правила зі старого .htaccess файлу, ви можете взяти їх І додати ім’я користувача між рядками 'deny'/'allow' і 'from'. Використання значка підстановки `` „%“ `` імені користувача буде головною перевагою тут, якщо ваша установка підходить для її використання. Тоді ви можете просто додати ці оновлені лінії в $cfg['Servers'][$i]['AllowDeny']['rules'] масив.

Якщо ви хочете попередньо зроблений зразок, спробуйте цей фрагмент. Він затримує користувача „root“ від входу з будь-якої мережі, відмінної від приватної мережі IP блоки.

//block root from logging in except from the private networks
$cfg['Servers'][$i]['AllowDeny']['order'] = 'deny,allow';
$cfg['Servers'][$i]['AllowDeny']['rules'] = [
    'deny root from all',
    'allow root from localhost',
    'allow root from 10.0.0.0/8',
    'allow root from 192.168.0.0/16',
    'allow root from 172.16.0.0/12',
];

4.7. Вікно автентифікації відображається неодноразово, чому?

Це трапляється, якщо ви використовуєте URL щоб запустити phpMyAdmin, який відрізняється від того, який встановлений у вашому $cfg['PmaAbsoluteUri']. Наприклад, відсутній «www», або вхід з IP адресу, тоді як ім’я домену визначається у файлі конфігурації.

4.8 Які параметри я можу використовувати у URL-адресі, що запускає phpMyAdmin?

When starting phpMyAdmin, you can use the db and server parameters. This last one can contain either the numeric host index (from $i of the configuration file) or one of the host names present in the configuration file.

For example, to jump directly to a particular database, a URL can be constructed as https://example.com/phpmyadmin/?db=sakila.

Змінено в версії 4.9.0: Support for using the pma_username and pma_password parameters was removed in phpMyAdmin 4.9.0 (see PMASA-2019-4).

Браузери або клієнтська ОС

5.1 Я отримую помилку недостатньо пом’яті, і мої елементи управління не функціюють, при спробі створити таблицю з більш ніж 14 стовпцями.

Ми можемо відтворити цю проблему лише під Win98 / 98SE. Випробувавши під WinNT4 або Win2K, ми могли легко створити більше 60 стовпців. Обхідний шлях - створити меншу кількість стовпців, потім поверніться до властивостей таблиці та додайте інші стовпці.

5.2. З XiTami 2.5b4, phpMyAdmin не буде обробляти поля форми.

Це не проблема phpMyAdmin, але відома помилка Xitami: Ви будете стикатися з цим у кожному скрипі/вебсайті, який використовує форми. Оновити або понизити свій сервер Xitami.

5.3 У мене є проблеми з видаленням таблиць за допомогою Konqueror (phpMyAdmin 2.2.2).

З Konqueror 2.1.1: прості дампи, zip і gzip дампи працюють нормально, крім того, що запропонована назва файлу для дампа завжди є „tbl_dump.php“. Дампи bzip2 здається, не працюють. З Konqueror 2.2.1: прості дампи працюють; zip дампи поміщаються в тимчасовий каталог користувача, тому вони повинні бути перенесені до закриття Konqueror, інакше вони не збережуться. Gzip дампи дають повідомлення про помилку. Тестування потрібно виконувати для Konqueror 2.2.2.

5.5 (знято).

5.6 (знято).

5.7 Я оновлюю (перезавантажую) мій браузер і повертаюся на сторінку вітання.

Деякі браузери підтримують натискання правою кнопкою миші у фреймі, який ви хочете оновити, просто виконайте це в правильному фреймі.

5.8 У Mozilla 0.9.7 у мене виникають проблеми з відправкою запиту, модифікованого у вікні запиту.

Виглядає, як помилка Mozilla: 0.9.6 було добре. Ми будемо уважно стежити за майбутніми версіями Mozilla.

5.9 З Mozilla 0.9.? до 1.0 та Netscape 7.0-PR1 я не можу ввести пробіли в області редагування SQL-запиту: сторінка прокручується вниз.

Це помилка Mozilla (дивіться помилку #26882 на BugZilla).

5.10 (знято).

5.11. Розширені символи ASCII, такі як німецькі umlauts, відображаються неправильно.

Будь ласка, переконайтесь, що встановлено кодування символів вашого браузера до одного з мовних файлів, який ви обрали на початковій сторінці phpMyAdmin. Крім того, ви можете спробувати режим автоматичного виявлення, який підтримується останніми версіями більшості браузерів.

5.12 Mac OS X Safari браузер змінює спеціальні символи на „?“.

This issue has been reported by a macOS user, who adds that Chimera, Netscape and Mozilla do not have this problem.

5.13 (знято)

5.14 (знято)

5.15 (знято)

5.16 В Internet Explorer я отримую «Доступ заборонено» Javascript помилки. Або я не можу зробити phpMyAdmin працювати під Windows.

Будь ласка, перевірте наступні моменти:

  • Може бути, ви визначили свій $cfg['PmaAbsoluteUri'], встановлений в config.inc.php до IP адрес, і ви запускаєте phpMyAdmin з URL, що містить ім’я домену, або відновлює ситуацію.
  • Налаштування безпеки в IE і/або Центра безпеки Microsoft завищені, отже відбувається блокування виконання сценаріїв.
  • Брандмауер Windows блокує Apache і MySQL. Ви повинні дозволити HTTP порт (80 or 443) і MySQL порт (звичайно 3306) в «in» і «out» напрямках.

5.17 У Firefox я не можу видалити рядки даних або скинути базу даних.

Багато користувачів підтвердили, що плагін Tabbrowser Extensions, встановлений в Firefox, викликає проблему.

5.18 (знято)

5.19 Я отримую помилки JavaScript у своєму браузері.

Проблеми повідомляються за допомогою деяких комбінацій розширень веб-переглядача. Щоб усунути неполадку, вимкніть усі розширення, а потім очистіть кеш-пам’ять веб-переглядача, щоб перевірити, чи зникла проблема.

5.20. Я отримую помилки щодо порушення Політики безпеки вмісту.

Якщо ви бачите такі помилки:

Refused to apply inline style because it violates the following Content Security Policy directive

Це, як правило, викликано деяким програмним забезпеченням, яке неправильно переписує Content Security Policy заголовки. Зазвичай це викликано антивірусним проксі-сервером або додаванням браузера, які викликають такі помилки.

Якщо ви бачите ці помилки, спробуйте вимкнути проксі HTTP в антивірусі чи вимкнути Content Security Policy що перезаписує це. Якщо це не допоможе, спробуйте вимкнути розширення для веб-переглядача.

Крім того, це може бути також проблема конфігурації сервера (якщо веб-сервер налаштований на випуск Content Security Policy заголовків, вони можуть перевизначити ті, що містить phpMyAdmin).

Відомо, що програми викликають такі помилки:

  • Kaspersky Internet Security

5.21 Я отримую помилки щодо потенційно небезпечної операції під час перегляду таблиці або виконання запиту SQL.

Якщо ви бачите такі помилки:

A potentially unsafe operation has been detected in your request to this site.

Як правило, це викликано брандмауером до веб-додатків, що робить фільтри запитів. Він намагається запобігти ін’єкції SQL, однак phpMyAdmin це інструмент, призначений для виконання SQL запитів, а таким чином, він стає непридатним для використання.

Please allow phpMyAdmin scripts from the web application firewall settings or disable it completely for phpMyAdmin path.

Відомо, що програми викликають такі помилки:

  • Брандмауер Wordfence веб-додатків

Використання phpMyAdmin

6.1 Я не можу вставити нові рядки в таблицю/ Я не можу створити таблицю - MySQL виявляє помилку SQL.

Вивчіть SQL помилку уважно. Часто проблема виникає при визначенні неправильного типу стовпця. Поширені помилки включають в себе:

  • Використання VARCHAR без аргументу розміру
  • Використовуйте TEXT або BLOB з аргументом розміру

Також, перегляньте розділ синтаксису в керівництві MySQL, щоб підтвердити, що ваш синтаксис правильний.

6.2. Коли я створюю таблицю, я встановлюю індекс для двох стовпців, і phpMyAdmin генерує лише один індекс із цими двома стовпцями.

Це спосіб створити індекс декількох стовпчиків. Якщо вам потрібні два індекси, створіть перший при створенні таблиці, збережіть, тоді відобразіть властивості таблиці та натисніть посилання Індекс, щоб створити інший індекс.

6.3 Як я можу вставити нульове значення в свою таблицю?

З версії 2.2.3, у вас є прапорець для кожного стовпця, яке може бути нульовим. До версії 2.2.3 вам потрібно ввести «null», без лапок, як значення стовпця. З версії 2.5.5, ви повинні використовувати прапорець, щоб отримати дійсне значення NULL, тому, якщо ви вводите NULL, це означає, що ви хочете буквально NULL в стовпці, а не NULL значення (це працює в PHP4).

6.4 Як я можу скопіювати мою базу даних або таблицю?

Натисніть на імені бази даних або таблиці на навігаційній панелі, відображаться властивості. Потім в меню, натисніть «Експорт», Ви можете скинути структуру, дані, або обидва. Це буде генерувати стандарт SQL заяви, що може бути використано для відтворення вашої бази даних/таблиці. Вам потрібно буде вибрати «Зберегти як файл», так що phpMyAdmin зможе передавати отриманий дамп до вашої станції. Залежно від конфігурації PHP ви побачите параметри для стиснення дампа. Дивіться також $cfg['ExecTimeLimit'] конфігураційна змінна. Щоб отримати додаткову допомогу з цього питання, знайдіть слово «дамп» у цьому документі.

6.5 Як я можу відновити (завантажити) мою базу даних або таблицю, використовуючи дамп? Як запустити файл «.sql»?

Натисніть на ім’я бази даних на навігаційній панелі, відображаться властивості. Виберіть «Імпорт» зі списку вкладок праворуч рамки (або «SQL» якщо ваша версія phpMyAdmin попередня до версії 2.7.0). У розділі «Розташування текстового файлу», введіть шлях до імені файлу дампа, або скористайтеся кнопкою Огляд. Потім натисніть кнопку Виконати. З версії 2.7.0 імпортний двигун був переписаний, Якщо можливо, пропонується оновити, щоб скористатися перевагами нових функцій. Щоб отримати додаткову допомогу з цього приводу, знайдіть слово «завантаження» в цьому документі.

Примітка: Для помилок при імпорті дампа, експортованого з старих версій MySQL в нові версії MySQL, перевірте 6.41 Я отримую помилки імпорту при імпорті дампа, експортованого з більш старих версій MySQL (попередньо 5.7.6) в нові версії MySQL (5.7.7+), але вони працюють добре, коли імпортовано назад на ті ж старі версії?.

6.6. Як я можу використати таблицю відносин у запиті за прикладом?

Ось приклад з таблицями осіб, міст і країн, все знаходиться в базі даних «mydb». Якщо у вас немає pma__relation таблиці, створіть, як це описано в розділі конфігурації. Потім створіть приклади таблиць:

CREATE TABLE REL_countries (
country_code char(1) NOT NULL default '',
description varchar(10) NOT NULL default '',
PRIMARY KEY (country_code)
) ENGINE=MyISAM;

INSERT INTO REL_countries VALUES ('C', 'Canada');

CREATE TABLE REL_persons (
id tinyint(4) NOT NULL auto_increment,
person_name varchar(32) NOT NULL default '',
town_code varchar(5) default '0',
country_code char(1) NOT NULL default '',
PRIMARY KEY (id)
) ENGINE=MyISAM;

INSERT INTO REL_persons VALUES (11, 'Marc', 'S', 'C');
INSERT INTO REL_persons VALUES (15, 'Paul', 'S', 'C');

CREATE TABLE REL_towns (
town_code varchar(5) NOT NULL default '0',
description varchar(30) NOT NULL default '',
PRIMARY KEY (town_code)
) ENGINE=MyISAM;

INSERT INTO REL_towns VALUES ('S', 'Sherbrooke');
INSERT INTO REL_towns VALUES ('M', 'Montréal');

Для встановлення відповідних посилань та відображення інформації:

  • в таблиці «REL_persons» натисніть Структура, потім Відношення вид
  • for «town_code», choose from dropdowns, «mydb», «REL_towns», «town_code» for foreign database, table and column respectively
  • для «country_code», оберіть із випадаючого меню «mydb», «REL_countries», «country_code» для зовнішньої бази даних, таблиці та стовпця відповідно
  • в таблиці «REL_towns» натисніть Структура, потім Відношення вид
  • в «Вибрати стовпець для відображення», виберіть «опис»
  • повторіть два попередніх кроки для таблиці «REL_countries»

Потім перевірте наступним чином:

  • Натисніть на ім’я бази даних на навігаційній панелі
  • Виберіть «Запит»
  • Використовуйте таблиці: люди, міста, країни
  • Натисніть «Оновити запит»
  • У рядку стовпців виберіть persons.person_name та натисніть на позначку «Показати»
  • Зробіть те ж саме для towns.description і countries.descriptions в інших 2 стовпцях
  • Натисніть «Оновити запит», і в полі запиту ви побачите, що правильні приєднання були створені
  • Натисніть «Надіслати запит»

6.7. Як я можу використовувати функцію «відображення стовпця»?

Починаючи з попереднього прикладу, створіть pma__table_info як пояснюється в розділі конфігурації, потім перегляньте таблицю осіб, і перемістіть курсор миші над кодом міста або кодом країни. Дивіться також 6.21. У режимі редагування/вставки, як я можу побачити список можливих значень для стовпця, на основі деякої зовнішньої таблиці? за додаткову функцію, що «відобразити стовпець» дозволяє: випадаючий список можливих значень.

6.8. Як я можу створити схему PDF своєї бази даних?

Спочатку змінні конфігурації «relation», «table_coords» and «pdf_pages» повинні бути заповнені.

  • Виберіть свою базу даних на панелі навігації.
  • Choose «Designer» in the navigation bar at the top.
  • Перемістіть таблиці так, як ви хочете.
  • Choose «Export schema» in the left menu.
  • Відкриється модальний режим експорту.
  • Select the type of export to PDF, you may adjust the other settings.
  • Надішліть форму, і почнеться завантаження файлу.

Дивись також

Відносини

6.9 phpMyAdmin змінює тип одного зі своїх стовпців!

Ні, це MySQL, що робить „тип silent стовпця змінюється <https://dev.mysql.com/doc/refman/5.7/en/silent-column-changes.html>`_.

6.10 При створенні привілеїв, що відбувається з підкресленнями в імені бази даних?

Якщо ви не поставите зворотну риску перед підкресленням, це wildcard грант, а символ підкреслення означає «будь-який символ». Отже, якщо ім’я бази даних «john_db», користувач отримає права на john1db, john2db … Якщо ви поставите зворотну риску перед підкресленням, Це означає, що ім’я бази даних матиме справжнє підкреслення.

6.11 Що за дивний символ ø на сторінках статистики?

Означає «середній».

6.12 Я хочу зрозуміти деякі варіанти експорту.

Структура:

  • «Додати СКИНУТИ ТАБЛИЦЮ» додасть рядок, що вказує MySQL на скидання таблиці, якщо він уже існує під час імпорту. Це НЕ скидає таблицю після вашого експорту, це впливає лише на імпортний файл.
  • «Якщо не існує» створить таблицю лише тоді, коли її не існує. В іншому випадку ви можете отримати помилку, якщо ім’я таблиці існує, але має іншу структуру.
  • «Додати AUTO_INCREMENT значення» гарантує що AUTO_INCREMENT значення (за наявності) буде включено в резервну копію.
  • «Додайте назви таблиць і стовпців за допомогою зворотних лапок» забезпечує захист імен стовпців та таблиць, створених за допомогою спеціальних символів.
  • «Add into comments» includes column comments, relations, and media types set in the pmadb in the dump as SQL comments (/* xxx */).

Дані:

  • «Повні вставки» додає імена стовпців на кожну команду ВСТАВИТИ, для кращої документації (але отриманий файл більший).
  • «Розширені вставки» забезпечує більш короткий файл дампа, використовується тільки один раз, коли ВСТАВИТИ дієслово та ім’я таблиці.
  • «Затримки вставки» найкраще пояснюється в Керівництво MySQL - INSERT DELAYED Синтаксис.
  • «Ігнорувати вкладки» розглядає помилки як застереження. Знову ж таки, більше інформації наведено в Керівництві MySQL - INSERT Синтаксис, але в основному з цим вибраним, невірні значення скориговані і достатньо вставлені щоб призвести до того, що вся заява зазнає невдачі.

6.13 Я хотів би створити базу даних з крапкою в назві.

Це погана ідея, тому що в MySQL синтаксис «database.table» є звичайним способом посилання на базу даних і назву таблиці. Що ще гірше, MySQL, як правило, дозволить вам створити базу даних з крапкою, але тоді ви не можете працювати з нею, не видалити.

6.14 (знято).

6.15 Я хочу додати стовпчик BLOB і поставити на нього індекс, але MySQL каже «BLOB стовпець „…“ використовується у ключових специфікаціях без довжини ключа».

Правильний спосіб це зробити - створити стовпець без будь-яких індексів, потім відобразити структуру таблиці та використайте діалогове вікно «Створити індекс». На сторінці ви зможете обрати стовпець BLOB і встановити розмір до індексу, що є умовами створення індексу у стовпці BLOB.

6.16 Як мені просто перейти на сторінку з великою кількістю полями редагування?

Ви можете використовувати Ctrl+стрілки (Опції+Стрілки в Safari) для переміщення більшості сторінок з багатьма полями редагування (зміна структури таблиці, редагування рядків тощо).

6.17 Трансформації: я не можу ввести свій власний тип MIME! Яка функція корисна для цього?

Визначення mime-типів не підходить, якщо ви не можете поставити трансформації на них. Інакше ви просто поставити коментар до стовпця. Оскільки введення власного MIME-типу призведе до серйозних проблем перевірки синтаксису та перевірки правильності, це приводить до високого ризику помилки в ситуації вводу користувача. Замість цього вам слід ініціалізувати MIME-типи за допомогою функцій або порожніх визначень mime-типів.

Plus, you have a whole overview of available mimetypes. Who knows all those mimetypes by heart so they can enter it at will?

6.18 Закладки: де я можу зберігати закладки? Чому я не бачу жодних закладок під полем запиту? Які змінні для?

Вам потрібно налаштувати Зберігання конфігурації phpMyAdmin для використання функцій закладок. Як тільки ви це зробите, можете використовувати закладки в SQL вкладці.

Дивись також

Закладки

6.19. Як я можу створити простий документ LATEX для включення експортованої таблиці?

Ви можете просто включити таблицю у ваші документи LATEX, мінімальний примірник повинен виглядати наступним чином (припустимо, що ви експортуєте таблицю у файл table.tex):

\documentclass{article} % or any class you want
\usepackage{longtable}  % for displaying table
\begin{document}        % start of document
\include{table}         % including exported table
\end{document}          % end of document

6.20 Я бачу багато баз даних, які не є моїми, і не можуть отримати доступ до них.

У вас є одна з цих глобальних привілеїв: CREATE TEMPORARY TABLES, SHOW DATABASES, LOCK TABLES. Ці привілеї дозволяють користувачам бачити всі імена бази даних. Отже, якщо ваші користувачі не потребують цих привілеїв, Ви можете їх видалити, і їх список баз даних скоротиться.

Дивись також

<https://bugs.mysql.com/bug.php?id=179>

6.21. У режимі редагування/вставки, як я можу побачити список можливих значень для стовпця, на основі деякої зовнішньої таблиці?

Ви повинні встановити відповідні посилання між таблицями, а також встановити «відображати стовпець» у зовнішню таблицю. Дивіться 6.6. Як я можу використати таблицю відносин у запиті за прикладом? для прикладу. Тоді, якщо є 100 значень або менше в зовнішній таблиці, випадаючий список значень буде доступний. Ви побачите два списки значень, перший список, містить ключ і стовпець показу, другий список містить стовпець показу та ключ. Причина цього можливість вводити першу літеру будь-якої клавіші або стовпчика. Для 100 чи більше значень з’являється окреме вікно, щоб переглянути значення зовнішнього ключа та вибрати його. Щоб змінити стандартний ліміт 100, дивіться $cfg['ForeignKeyMaxLimit'].

6.22 Закладки: Чи можу я автоматично виконувати закладку за замовчуванням при введенні режиму перегляду для таблиці?

Так. Якщо закладка має таку ж назву як ім’я таблиці, і вона не є загальнодоступною закладкою, вона буде виконана.

Дивись також

Закладки

6.23 Експорт: Я чув, що phpMyAdmin може експортувати файли Microsoft Excel?

Ви можете використовувати CSV для Microsoft Excel, яка працює з модуля.

Змінено в версії 3.4.5: Починаючи з phpMyAdmin 3.4.5 підтримка для прямого експорту в Microsoft Excel 97 і пізніших версій було припинено.

6.24 Тепер phpMyAdmin підтримує коментар стовпців MySQL 4.1.x, що трапляється з коментарями зі стовпцями, що зберігаються в pmadb?

Автоматична міграція коментарів стовпця таблиці у стилі pmadb до корінного виконується кожного разу, коли ви вводите сторінку Structure для цієї таблиці.

6.25 (знято).

6.26 Як я можу вибрати діапазон рядків?

Натисніть на перший рядок діапазону, утримуйте клавішу Shift та натисніть останній рядок діапазону. Це працює скрізь, де ви бачите рядки, наприклад, в режимі перегляду або на сторінці структури.

6.27 Які форматові рядки я можу використовувати?

In all places where phpMyAdmin accepts format strings, you can use @VARIABLE@ expansion and strftime format strings. The expanded variables depend on a context (for example, if you haven’t chosen a table, you can not get the table name), but the following variables can be used:

@HTTP_HOST@
HTTP-хост, що запускає phpMyAdmin
@SERVER@
Ім’я сервера MySQL
@VERBOSE@
Вербальне ім’я сервера MySQL, як визначено в $cfg['Servers'][$i]['verbose']
@VSERVER@
Багатослівне ім’я сервера MySQL, якщо він встановлений, інакше нормальний
@DATABASE@
Наразі відкрита база даних
@TABLE@
В даний час відкрита таблиця
@COLUMNS@
Стовпці поточної відкритої таблиці
@PHPMYADMIN@
phpMyAdmin з версією

6.28 (withdrawn).

6.29 Чому я не можу отримати таблицю з таблиці результатів запиту?

Не кожну таблицю можна додати до графіка. Тільки таблиці з одним, двома або трьома стовпцями можуть бути візуалізовані, як діаграма. Крім того, таблиця повинна бути в спеціальному форматі, щоб сценарій діаграм зрозумів це. Підтримувані формати можна знайти в Діаграми.

6.30 Імпорт: як я можу імпортувати ESRI Shapefiles?

ESRI Shapefile насправді є набором декількох файлів, Де .shp файл містить геометричні дані і файл .dbf містить геометричні дані. Для того, щоб прочитати дані з файлу .dbf, вам потрібно мати скомпільований PHP з розширенням dBase (–enable-dbase). Інакше буде імпортовано лише геометричні дані.

Щоб завантажити цей набір файлів, можна скористатися одним із наведених нижче способів:

Налаштуйте каталог завантаження з $cfg['UploadDir'], завантажте файли .shp та .dbf з однаковим іменем файлу і виберіть файл .shp з сторінки імпорту.

Створіть zip архів з .shp і .dbf файлів і імпортуйте його. Для цього потрібно встановити $cfg['TempDir'] в місце, де користувач веб-сервера може писати (наприклад, './tmp').

Щоб створити тимчасову директорію в системі UNIX, ви можете виконати такі дії:

cd phpMyAdmin
mkdir tmp
chmod o+rwx tmp

6.31 Як мені створити відношення у дизайнері?

Щоб вибрати відношення, натисніть: стовпець показується в рожевому кольорі. Щоб встановити/вимкнути стовпець, як стовпець для відображення, натисніть значок «Оберіть стовпець для відображення», а потім натисніть назву відповідного стовпця.

6.32 Як я можу використовувати функцію масштабування пошуку?

Функція масштабування пошуку є альтернативою функції пошуку в таблиці. Це дозволяє досліджувати таблицю, представляючи її дані в фрагментованому графіку. Ви можете знайти цю функцію, вибравши таблицю та натиснувши вкладку Пошук. Одна з під-вкладок в Пошук таблиці`сторінки є :guilabel:`Масштабований пошук.

Розглянемо таблицю REL_persons в 6.6. Як я можу використати таблицю відносин у запиті за прикладом? для прикладу. Для використання масштабування пошуку потрібно вибрати два стовпці, наприклад, id і town_code. id будуть представлені на одній осі а значення town_code на іншій осі. Кожен рядок буде представлений як точка в фрагментованому графіку на основі id і town_code. Ви можете включити два додаткових критерії пошуку, крім двох полів для відображення.

Ви можете вибрати, яке поле слід відображати як мітку для кожної точки. Якщо для таблиці встановлено стовпець показу (дивіться 6.7. Як я можу використовувати функцію «відображення стовпця»?), він приймається як мітка, якщо ви не вказали інше. Ви також можете вибрати максимальну кількість рядків, які потрібно відображати в графіку, вказавши його у полі „Максимальна кількість рядків для графіку“. Вибравши критерії, натисніть „Виконати“, щоб відобразити графік.

After the plot is generated, you can use the mouse wheel to zoom in and out of the plot. In addition, panning feature is enabled to navigate through the plot. You can zoom-in to a certain level of detail and use panning to locate your area of interest. Clicking on a point opens a dialogue box, displaying field values of the data row represented by the point. You can edit the values if required and click on submit to issue an update query. Basic instructions on how to use can be viewed by clicking the „How to use?“ link located just above the plot.

6.33 Як скопіювати назву стовпця, під час перегляду таблиці?

Вибрати назву стовпця в клітині заголовка перегляду таблиці для копіювання важко, оскільки колонки підтримують переміщення за допомогою перетягування клітин заголовків, а також сортування, натиснувши на назву пов’язаного стовпця. Щоб скопіювати назву стовпця, двічі натисніть на порожній області поруч із назвою стовпця, коли підказка скаже вам, щоб зробити це. Це покаже вам поле введення з ім’ям стовпця. Ви можете натиснути правою кнопкою миші назву стовпця в цьому вікні введення, щоб скопіювати його в буфер обміну.

6.34 Як я можу використовувати функцію „Вподобані таблиці“?

Функція вподобані таблиці дуже схожа на функцію Останні таблиці. Це дозволяє додавати ярлик для часто використовуваних таблиць будь-якої бази даних на панелі навігації. Ви можете легко перейти до будь-якої таблиці в списку, просто вибравши її зі списку. Ці таблиці зберігаються у локальному сховищі вашого веб-переглядача, якщо ви не налаштували своє Сховище конфігурації phpMyAdmin. В іншому випадку записи зберігаються у файлі phpMyAdmin Configuration Storage.

ВАЖЛИВО: За відсутності Сховища конфігурації phpMyAdmin ваші вподобані таблиці можуть бути різними в різних браузерах, в залежності від вашого вибору в них.

Щоб додати таблицю до вподобаного списку, просто натисніть на Сіру`зірочку перед назвою таблиці в списку таблиць бази даних і зачекайте, доки вона не перетвориться на `Жовту. Щоб видалити таблицю з списку, просто натисніть на Жовту зірочку та зачекайте, доки вона знову не повернеться на Сіру.

Використовуючи $cfg['NumFavoriteTables'] у вашому config.inc.php файлі, ви можете визначити максимальну кількість вподобаних таблиць, показаних на панелі навігації. Значення за замовчуванням - 10.

6.35 Як я можу використовувати функцію діапазон пошуку?

За допомогою функції діапазон пошуку можна вказати діапазон значень для певних стовпців під час виконання операції пошуку в таблиці з вкладки Пошук.

Щоб скористатися цією функцією, просто натисніть на оператори BETWEEN або NOT BETWEEN`з оператора вибирають список перед назвою стовпця. Якщо вибрати один з наведених вище варіантів, з’явиться діалогове вікно з проханням про значення `Мінімум і Максимум для цього стовпця. У випадку BETWEEN буде включено лише зазначений діапазон значень і у випадку NOT BETWEEN між кінцевими результатами.

Примітка: Функція пошуку діапазону буде працювати тільки зі стовпцями типу Число і Дата.

6.36 Що таке Основна колонка і як я можу використовувати цю функцію?

Як випливає з назви функція Основна колонка дозволяє підтримувати основний список стовпців по кожній базі даних, щоб уникнути подібного імені для одного елемента даних і забезпечити узгодженість типу даних для одного і того ж елемента даних. Ви можете використовувати основний список стовпців, щоб додати елемент до будь-якої структури таблиці в цій базі даних, що позбавить від написання аналогічного імені стовпця і визначення стовпця.

Щоб додати стовпець до основного списку, перейдіть до таблиці структури таблиці, відмітьте стовпці, які потрібно включити а потім просто натисніть на «Додати до основних стовпців». Якщо ви хочете додати всі унікальні стовпці з більш ніж однієї таблиці з бази даних, перейдіть на сторінку структури бази даних, відмітьте таблиці, які потрібно включити, а потім виберіть » Додати стовпці до основного списку».

Щоб видалити стовпець із центрального списку, перейдіть на сторінку структури, таблиці, відмітьте стовпці, які потрібно видалити, а потім просто натисніть «Видалити з основних стовпців». Якщо ви хочете видалити всі стовпці з декількох таблиць з бази даних, перейдіть на сторінку структури бази даних, відмітьте таблиці, які ви хочете включити, а потім виберіть «Видалити стовпці з основного списку».

Щоб переглянути основний список та керувати ним, виберіть базу даних, в якій ви хочете керувати основними стовпцями, а потім у верхньому меню натисніть «Основні стовпці». Ви перейдете на сторінку, де ви зможете редагувати, видаляти або додавати нові стовпці до основного списку.

6.37 Як я можу використовувати функцію Покращити структуру таблиці?

Функція вдосконалення структури таблиці допомагає привести структуру таблиці до трьох нормальних форм. Майстер представляє користувачеві питання про елементи під час різних кроків нормалізації, і пропонує відповідну нову структуру, щоб перевести таблицю в першу/другу/третю нормальну форму. Після запуску майстра користувач може вибрати, до якої нормальної форми вони хочуть нормалізувати структуру таблиці.

Ось приклад таблиці, яку ви можете використовувати для тестування всіх трьох Першої, Другої та Третьої нормальної форми.

CREATE TABLE `VetOffice` (
 `petName` varchar(64) NOT NULL,
 `petBreed` varchar(64) NOT NULL,
 `petType` varchar(64) NOT NULL,
 `petDOB` date NOT NULL,
 `ownerLastName` varchar(64) NOT NULL,
 `ownerFirstName` varchar(64) NOT NULL,
 `ownerPhone1` int(12) NOT NULL,
 `ownerPhone2` int(12) NOT NULL,
 `ownerEmail` varchar(64) NOT NULL,
);

Наведена таблиця не в першій нормальній формі як немає primary key. Первинний ключ повинен бути (petName,`ownerLastName`,`ownerFirstName`) . Якщо primary key вибрано, як запропоновано, отримана таблиця не буде в другій, а також у третій нормальної формі, оскільки існують наступні залежності.

(OwnerLastName, OwnerFirstName) -> OwnerEmail
(OwnerLastName, OwnerFirstName) -> OwnerPhone
PetBreed -> PetType

Що говорить, OwnerEmail залежить від OwnerLastName та OwnerFirstName. OwnerPhone залежить від OwnerLastName та OwnerFirstName.

6.38. Як я можу перепризначити автоматично збільшувані значення?

Деякі користувачі віддають перевагу, щоб значення AUTO_INCREMENT були послідовними; це не завжди відбувається після видалення рядка.

Ось кроки для цього. Ці кроки, виконувані вручну, так як вони вимагають ручної перевірки в якийсь момент.

  • Переконайтеся, що ви маєте ексклюзивний доступ до таблиці, для перебудови
  • В вашому primary key стовпці (тобто id), видалити налаштування AUTO_INCREMENT
  • Видаліть свій первинний ключ у Структурі>Індекси
  • Створіть новий стовпець future_id як первинний ключ, AUTO_INCREMENT
  • Перегляньте таблицю та перевірте, чи нові кроки відповідають тому, що ви очікуєте
  • Скиньте ваш старий id стовпець
  • Перейменуйте стовпець future_id на id
  • Перемістіть новий id стовпець за допомогою Структура>Перемістити стовпці

6,39 Що таке функція «Налаштування привілеїв» при перейменуванні, копіюванні або переміщенні бази даних, таблиці, стовпця, або процедури?

При перейменуванні/копіюванні/переміщенні бази даних/таблиці/стовпця/процедури, MySQL не налаштовує оригінальні привілеї, пов’язані з цими об’єктами самостійно. Вибравши цей параметр, phpMyAdmin налаштовує таблицю привілеїв таким чином, щоб користувачі мали однакові права на нові елементи.

Наприклад: Користувач „bob“@“localhost“ має привілей „SELECT“ у стовпці з назвою „id“. Тепер, якщо цей стовпець буде перейменовано на „id_new“, MySQL самостійно не буде коригувати привілеї стовпців до нового імені стовпця. phpMyAdmin може автоматично зробити це коригування.

Примітки:

  • Під час коригування привілеїв для бази даних, привілеї всіх елементів, пов’язаних із базою даних (таблиці, стовпці та процедури) також коригуються до нової назви бази даних.
  • Аналогічно, під час налаштування привілеїв для таблиці, привілеї всіх стовпців у новій таблиці також скориговані.
  • Під час налаштування привілеїв користувач, який виконує операцію повинен мати такі права:
    • Привілеї SELECT, INSERT, UPDATE, DELETE в наступних таблицях: mysql.`db`, mysql.`columns_priv`, mysql.`tables_priv`, mysql.`procs_priv`
    • Привілей FLUSH (GLOBAL)

Таким чином, якщо ви хочете повторити базу даних/таблицю /стовпець/процедуру, як це відбувається під час перейменування/копіювання/переміщення цих об’єктів, переконайтеся, що ви позначили цю опцію.

6.40 Я бачу параметр „Параметри прив’язки“ на сторінці „SQL“. Як написати SQL запити з параметрами?

З версії 4.5 phpMyAdmin дозволяє користувачам виконувати параметризовані запити на сторінці «SQL». Параметри повинні бути приставлені спереду двокрапкою (:), і коли буде встановлено прапорець „Параметри прив’язки“, параметри будуть ідентифіковані і поля вводу для них будуть представлені. Значення, введені в цьому полі, будуть замінені в запиті перед виконанням.

6.41 Я отримую помилки імпорту при імпорті дампа, експортованого з більш старих версій MySQL (попередньо 5.7.6) в нові версії MySQL (5.7.7+), але вони працюють добре, коли імпортовано назад на ті ж старі версії?

Якщо ви отримуєте такі помилки, як #1031 - Двигун зберігання таблиці для „table_name“ не має цієї опції при імпорті дампів, експортованих з серверів MySQL до 5.7.7 на нові версії 5.7.7+ сервера MySQL, це може бути тому що ROW_FORMAT=FIXED не підтримується таблицями InnoDB. Крім того, значення innodb_strict_mode буде визначати, чи буде це повідомлено як попередження або помилка.

Починаючи з версії 5.7.9 MySQL, значення за замовчуванням для innodb_strict_mode є `ON, і таким чином буде генерувати помилку, коли виникає операція CREATE TABLE або ALTER TABLE.

Існує два способи запобігання таким помилкам при імпорті:

  • Змініть значення innodb_strict_mode до OFF перед початком імпорту та відновіть до ON після успішного імпортування.
  • Це можна досягти двома способами:
    • Перейдіть на сторінку „Змінні“ та відредагуйте значення innodb_strict_mode
    • Запустіть запит : SET GLOBAL `innodb_strict_mode = „[value]“`

Після завершення імпорту, пропонується скинути значення innodb_strict_mode до початкового значення.

Проєкт phpMyAdmin

7.1 Я знайшов помилку. Як інформувати розробників?

Наш issues tracker знаходиться <https://github.com/phpmyadmin/phpmyadmin/issues>. З питань безпеки, будь ласка, зверніться до інструкцій у <https://www.phpmyadmin.net/security> Надіслати розробникам електронну пошту безпосередньо.

7.2 Я хочу перекласти повідомлення на нову мову або оновити існуючу мову, звідки почати?

Переклади дуже вітаються і все, що вам потрібно це мати практичні навички. Найпростіший спосіб - використовувати нашу онлайн службу перекладу. Ви можете ознайомитись з усіма можливостями перекладу в розділі перекладу на нашому вебсайті.

7.3 Я хотів би допомогти з розробкою phpMyAdmin. Як я повинен поступити?

Ми вітаємо будь-який внесок у розвиток phpMyAdmin. Ви можете ознайомитись з усіма можливостями внеску в розділі сприяння на нашому вебсайті.

Безпека

8.1 Де я можу отримати інформацію про сповіщення про безпеку для phpMyAdmin?

Будь ласка зверніться до <https://www.phpmyadmin.net/security/>.

8.2 Як захистити phpMyAdmin від атак грубої сили?

Якщо ви використовуєте веб-сервер Apache, phpMyAdmin експортує інформацію про автентифікацію в середовище Apache, і його можна використовувати в журналах Apache. В даний час існує дві перемінні:

userID
User name of currently active user (they do not have to be logged in).
userStatus
Статус для поточного користувача, один з ok (користувач увійшов до системи), mysql-denied (MySQL відмовив ввійти користувачеві), allow-denied (користувачеві відмовлено дозволити/заборонити правила), root-denied (root заперечується в конфігурації), empty-denied (порожній пароль відхилено).

Директива LogFormat для Apache може виглядати наступним чином:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{userID}n %{userStatus}n"   pma_combined

Потім ви можете використовувати будь-який інструмент аналізу журналів для виявлення можливих спроб втручання.

8.3 Чому існує шлях розкриття інформації при прямому завантаженні певних файлів?

Це проблема конфігурації сервера. Ніколи не вмикайте display_errors на виробничому сайті.

Файли CSV, експортовані з phpMyAdmin, можуть дозволити атаку ін’єкції формули.

Можна генерувати CSV файл, який при імпорті до електронної таблиці, як Microsoft Excel, потенційно може дозволити виконання будь-яких команд.

Файли CSV, створені phpMyAdmin, можуть містити текст, який інтерпретується програмою електронної таблиці, як формула, але ми не вважаємо, що уникати ці поля є належною поведінкою. Немає засобів для правильного виходу та розрізнення бажаного текстового виводу та формули, які слід уникнути, і CSV - це текстовий формат, де функції у будь-якому разі не повинні інтерпретуватися. Ми докладно обговорили це і вважаємо, що це відповідальність програми електронної таблиці належним чином проаналізувати і очищати такі дані на вході.

Google також має аналогічний вигляд <https://sites.google.com/site/bughunteruniversity/nonvuln/csv-excel-formula-injection>`_.

Синхронізація

9.1 (знято).

9.2 (знято).