phpmyadmin / phpmyadmin

A web interface for MySQL and MariaDB
https://www.phpmyadmin.net/
GNU General Public License v2.0
7.21k stars 3.38k forks source link

Cannot make seperate connection on NamedPipe(Windows) #13916

Open sunghwan2789 opened 6 years ago

sunghwan2789 commented 6 years ago

Steps to reproduce

  1. Set connect_type to 'socket' in /config.inc.php
    $cfg['Servers'][$i]['host'] = '.';
    $cfg['Servers'][$i]['connect_type'] = 'socket';
    // $cfg['Servers'][$i]['socket'] = '\\\\.\\pipe\\MySQL';
    $cfg['Servers'][$i]['auth_type'] = 'cookie';
    // $cfg['Servers'][$i]['controluser'] = '';
    // $cfg['Servers'][$i]['controlpass'] = '';
    $cfg['Servers'][$i]['compress'] = false;
    $cfg['Servers'][$i]['AllowNoPassword'] = true;
  2. Login phpMyAdmin.

Expected behaviour

Success login.

Actual behaviour

It hangs and exceeds execution time limit

BTW, after comment out some code in /libraries/common.inc.php as following, I could login phpMyAdmin.

        if (! $controllink) {
            /*
             * Open separate connection for control queries, this is needed
             * to avoid problems with table locking used in main connection
             * and phpMyAdmin issuing queries to configuration storage, which
             * is not locked by that time.
             */
            // $controllink = $GLOBALS['dbi']->connect(DatabaseInterface::CONNECT_USER);
        }

Server configuration

Operating system: Windows Server 2016 v1607

Web server: IIS10

Database: MariaDB status as below.

MariaDB [(none)]> status
--------------
mysql  Ver 15.1 Distrib 10.2.9-MariaDB, for Win64 (AMD64)

Connection id:          1234385
Current database:
Current user:           root@localhost
SSL:                    Not in use
Using delimiter:        ;
Server:                 MariaDB
Server version:         10.2.9-MariaDB mariadb.org binary distribution
Protocol version:       10
Connection:             (null) via named pipe
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    utf8mb4
Conn.  characterset:    utf8mb4
UNIX socket:            MySQL

PHP version: PHP 7.2.0 (built: Nov 28 2017 23:48:32) ( NTS MSVC15 (Visual C++ 2017) x64 )

phpMyAdmin version: 4.7.7

Client configuration

Browser: Chrome 63.0.3239.84

Operating system: Windows Server 2016 v1607

nijel commented 6 years ago

phpMyAdmin is using two connections to the MySQL server, from what you've commented out it seems that opening the second connection hangs. This really looks more like a PHP bug than something we can address.

Can you please try increasing execution limit if it's just not taking too long for whatever reason?

williamdes commented 3 years ago

Hi @sunghwan2789 Could you try the latest available version ?

sunghwan2789 commented 3 years ago

Hi @williamdes

I upgraded my server apps and tested again:

As a result, phpMyAdmin still hangs then exeeds execution time limit if server host is '.' in config.inc.php.

I could login after commenting out below code, but it is super unstable and throws 500 internal server errors that I cannot debug. https://github.com/phpmyadmin/phpmyadmin/blob/333edd4a793e95a04ee97951ee48807350dca728/libraries/classes/Core.php#L1413

BTW, I can login and phpmyadmin is stable if server host is '127.0.0.1' or 'localhost' in config.inc.php.

Here is my config.inc.php file, and I also uploaded other app configurations to gist.

<?php
/*
 * Generated configuration file
 * Generated by: phpMyAdmin 5.1.0 setup script
 * Date: Sat, 24 Apr 2021 14:51:00 +0000
 */

/* Servers configuration */
$i = 0;

/* Server: . [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = '.';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = ''; // same as '\\\\.\\pipe\\MySQL' if ['host'] = '.'
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';

/* End of servers configuration */

$cfg['blowfish_secret'] = 'supersecret';
$cfg['DefaultLang'] = 'en';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>
williamdes commented 3 years ago

HI @sunghwan2789 Thank you for the feedback, could you try the latest 5.1 version in development (phpMyAdmin 5.1+snapshot) to see if the errors 500 are fixed ?

I could login after commenting out below code, but it is super unstable and throws 500 internal server errors that I cannot debug.

Do not forget to send the error reports to our back-end or post them here :)

sunghwan2789 commented 3 years ago

Thank you for the feedback, could you try the latest 5.1 version in development (phpMyAdmin 5.1+snapshot) to see if the errors 500 are fixed ?

snapshot build produces same result. It hangs or super unstable.

I could login after commenting out below code, but it is super unstable and throws 500 internal server errors that I cannot debug.

Do not forget to send the error reports to our back-end or post them here :)

I get this error in php_error.logs when phpMyAdmin hangs:

[25-Apr-2021 01:22:30 Asia/Seoul] PHP Fatal error:  Maximum execution time of 30 seconds exceeded in C:\inetpub\wwwroot\phpmyadmin\libraries\classes\ErrorHandler.php on line 176

I get this error from IIS when 500 Internal Server Error happens:

46. -NOTIFY_MODULE_START
ModuleNameFastCgiModule
NotificationEXECUTE_REQUEST_HANDLER
fIsPostNotificationfalse
0 ms
47. -FASTCGI_ASSIGN_PROCESS
CommandLineC:\php\php-cgi.exe
IsNewProcessfalse
ProcessId26004
RequestNumber2
0 ms
48. -FASTCGI_START
0 ms
Informational
49. -GENERAL_READ_ENTITY_START
0 ms
Informational
50. -GENERAL_READ_ENTITY_END
BytesReceived134
ErrorCode작업을 완료했습니다. (0x0)
0 ms
Verbose
51. -GENERAL_REQUEST_ENTITY
Bufferajax_request=true&key=Console%2FMode&server=1&value=%22collapse%22&_nocache=1619283604934722331&token=4a4d52787a2a7c483c742c516b782e55
0 ms
Verbose
52. -NOTIFY_MODULE_COMPLETION
ModuleNameFastCgiModule
NotificationEXECUTE_REQUEST_HANDLER
fIsPostNotificationEventfalse
CompletionBytes134
ErrorCode작업을 완료했습니다. (0x0)
0 ms
Informational
53. -GENERAL_READ_ENTITY_START
0 ms
Informational
54. -GENERAL_READ_ENTITY_END
BytesReceived0
ErrorCode파일의 끝입니다. (0x80070026)
0 ms
Verbose
55. -FASTCGI_WAITING_FOR_RESPONSE
1469 ms
Error
56. -FASTCGI_UNEXPECTED_EXIT
0 ms
Warning
57. -SET_RESPONSE_ERROR_DESCRIPTION
ErrorDescriptionC:\php\php-cgi.exe - FastCGI 프로세스가 예기치 않게 종료되었습니다.
0 ms
Warning
58. -MODULE_SET_RESPONSE_ERROR_STATUS
ModuleNameFastCgiModule
NotificationEXECUTE_REQUEST_HANDLER
HttpStatus500
HttpReasonInternal Server Error
HttpSubStatus0
ErrorCode3221225477
ConfigExceptionInfo
0 ms
Verbose
59. -NOTIFY_MODULE_END
ModuleNameFastCgiModule
NotificationEXECUTE_REQUEST_HANDLER
fIsPostNotificationEventfalse
NotificationStatusNOTIFICATION_FINISH_REQUEST
williamdes commented 3 years ago

I coded this script quickly, and one thing I found out is that I found out is that the port needs to be 0 or it will not connect. Checking now how to fix this in phpMyAdmin

<?php
header('Content-Type: text/plain');
echo '--START--' . PHP_EOL;
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
try {
    $host = '.';
    $user = 'root';
    $pass = 'public';
    $dbname = 'mysql';
    echo 'Try' . PHP_EOL;
    $mysqli = mysqli_init();
    $mysqli->real_connect(
        $host, $user, $pass, $dbname, 0, '\\\\.\\pipe\\MariaDB'
    );
    echo 'Ok' . PHP_EOL;
    echo 'Success: ' . $mysqli->host_info . "\n";

    $result = $mysqli->query("SELECT DATABASE()");
    $row = $result->fetch_row();
    $mysqli->close();
    var_dump($row);
} catch (\mysqli_sql_exception $e) {
    echo 'Died: ' . $e->getMessage() . PHP_EOL;
    echo 'Code: ' . $e->getCode() . PHP_EOL;
}
echo '--END--' . PHP_EOL;
--START--
Try
Ok
Success: \\.\pipe\MariaDB via named pipe
array(1) {
  [0]=>
  string(5) "mysql"
}
--END--
williamdes commented 3 years ago

I now can login in phpMyAdmin after commenting the line you mentionned Continuing to debug, I can also confirm there is errors 500 that display

williamdes commented 3 years ago

Here is my working config. I think you can not connect 2 connexions on the same named pipe in parallel. Let me know if you can confirm that

<?php
/*
 * Generated configuration file
 * Generated by: phpMyAdmin 5.1.0 setup script
 * Date: Sat, 24 Apr 2021 14:51:00 +0000
 */

/* Servers configuration */
$i = 0;

$i++;
$cfg['Servers'][$i]['verbose'] = 'MariaDB';
$cfg['Servers'][$i]['host'] = '.';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '\\\\.\\pipe\\MariaDB'; // same as '\\\\.\\pipe\\MySQL' if ['host'] = '.'
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['controlhost'] = '127.0.0.1';
$cfg['Servers'][$i]['controluser'] = 'root';
$cfg['Servers'][$i]['controlpass'] = 'public';
$cfg['Servers'][$i]['controlport'] = '3306';

/* End of servers configuration */

$cfg['blowfish_secret'] = 'supersecretzfafzfazf8azf46zaf4a6z8f4az6f84a6z8f4a6z84fa6z8f4';
$cfg['DefaultLang'] = 'en';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>
sunghwan2789 commented 3 years ago

With the controlhost options, I could login without modifying below phpMyAdmin code, but it still displays 500 errors:

 $dbi->connect(DatabaseInterface::CONNECT_USER, null, DatabaseInterface::CONNECT_CONTROL); 

image

Here is my config!

$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = '.';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['controlhost'] = '127.0.0.1';
$cfg['Servers'][$i]['controluser'] = 'root';
$cfg['Servers'][$i]['controlpass'] = 'public';
$cfg['Servers'][$i]['controlport'] = '3306';
williamdes commented 3 years ago

I am glad it works ! I spent hours yesterday on IIS and never could get the actual 500 error message, do you have them in your logs ?

sunghwan2789 commented 3 years ago

@williamdes I sent you an email with IIS logs. btw, it is a sad thing that PHP cannot open more than 2 named pipe mysql connections.

williamdes commented 3 years ago

@williamdes I sent you an email with IIS logs. btw, it is a sad thing that PHP cannot open more than 2 named pipe mysql connections.

I am not even sure this is a PHP thing, I think if you open your MySQL command line on the pipe phpMyAdmin would not work from what I could debug yesterday

Thank you for the logs :) (williamdes@wdes.fr)

btw, it is a sad thing that PHP cannot open more than 2 named pipe mysql connections.

I found nothing on the web about that, why ??

sunghwan2789 commented 3 years ago

I got something!!

If I run below script, 500 error happens occasinally (success sometimes).

<?php
header('Content-Type: text/plain');
echo '--START--' . PHP_EOL;
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
try {
    $host = '.';
    $user = 'root';
    $pass = 'public';
    $dbname = 'mysql';
    echo 'Try' . PHP_EOL;
    $mysqli = mysqli_init();
    $mysqli->real_connect(
        '.', $user, $pass, $dbname, 0, '\\\\.\\pipe\\MariaDB'
    );
    echo 'Ok' . PHP_EOL;
    echo 'Success: ' . $mysqli->host_info . "\n";

    $result = $mysqli->query("SELECT DATABASE()");
    $row = $result->fetch_row();
    // $mysqli->close();
    var_dump($row);

    $mysqli2 = mysqli_init();
    $mysqli2->real_connect(
        '127.0.0.1', $user, $pass, $dbname, 0, ''
    );
    echo 'Ok' . PHP_EOL;
    echo 'Success: ' . $mysqli2->host_info . "\n";

    $result = $mysqli2->query("SELECT DATABASE()");
    $row = $result->fetch_row();
    $mysqli2->close();
    var_dump($row);
} catch (\mysqli_sql_exception $e) {
    echo 'Died: ' . $e->getMessage() . PHP_EOL;
    echo 'Code: ' . $e->getCode() . PHP_EOL;
}
echo '--END--' . PHP_EOL;
williamdes commented 3 years ago

I got something!! If I run below script, 500 error happens occasinally (success sometimes).

Gosh, I had the same behavior on phpMyAdmin yesterday. It was failing requests for no reason and after a F5 it would maybe work

By the way I coded a script similar but did not post it, but I connected the two connexions and then asked to fetch data to each connection. That reproduced the infinite hanging issue

Is this issue a IIS bug ?

Also IIS was making 500 errors on my JS files, making phpMyAdmin unusable..

williamdes commented 3 years ago

From the logs you sent is seems the errors are related to this route route=/config/get, is your configuration storage connexion settings working on a MySQL CLI ?

sunghwan2789 commented 3 years ago

It seems that error happens randomly on any route:

image

sunghwan2789 commented 3 years ago

Hi I think this is related to PHP. I checked it using PHP Development Server.

Opening 2 named pipe mysql connection hangs:

C:\inetpub\wwwroot> php -S localhost:8888
[Sun Apr 25 22:17:41 2021] PHP 8.0.3 Development Server (http://localhost:8888) started
[Sun Apr 25 22:17:46 2021] [::1]:11317 Accepted

image ( expecting next Ok sign... but hangs forever )

Opening 1 named pipe and 1 tcp mysql connection kills PHP itself:

> php -S localhost:8888
[Sun Apr 25 22:23:19 2021] PHP 8.0.3 Development Server (http://localhost:8888) started
[Sun Apr 25 22:23:24 2021] [::1]:12107 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12107 [200]: GET /
[Sun Apr 25 22:23:24 2021] [::1]:12107 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12109 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12110 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12109 [200]: GET /themes/metro/jquery/jquery-ui.css
[Sun Apr 25 22:23:24 2021] [::1]:12111 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12110 [200]: GET /js/vendor/codemirror/lib/codemirror.css?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12112 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12111 [200]: GET /js/vendor/codemirror/addon/hint/show-hint.css?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12113 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12112 [200]: GET /js/vendor/codemirror/addon/lint/lint.css?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12109 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12114 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12113 [200]: GET /themes/metro/css/theme.css?v=5.1.1-dev%2B20210423.07bf86b483&nocache=6477127239ltr&server=1
[Sun Apr 25 22:23:24 2021] [::1]:12110 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12115 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12114 [200]: GET /js/vendor/jquery/jquery.min.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12111 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12116 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12115 [200]: GET /js/vendor/jquery/jquery-migrate.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12112 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12117 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12116 [200]: GET /js/vendor/sprintf.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12118 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12117 [200]: GET /js/dist/ajax.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12113 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12114 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12119 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12118 [200]: GET /js/dist/keyhandler.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12115 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12120 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12119 [200]: GET /js/vendor/bootstrap/bootstrap.bundle.min.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12116 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12121 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12120 [200]: GET /js/vendor/jquery/jquery-ui.min.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12117 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12122 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12121 [200]: GET /js/vendor/js.cookie.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12118 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12123 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12122 [200]: GET /js/vendor/jquery/jquery.mousewheel.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12119 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12124 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12123 [200]: GET /js/vendor/jquery/jquery.validate.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12125 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12124 [200]: GET /js/vendor/jquery/jquery-ui-timepicker-addon.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12120 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12121 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12126 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12125 [200]: GET /js/vendor/jquery/jquery.ba-hashchange-2.0.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12122 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12127 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12126 [200]: GET /js/vendor/jquery/jquery.debounce-1.0.6.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12123 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12128 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12127 [200]: GET /js/dist/menu_resizer.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12124 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12129 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12128 [200]: GET /js/dist/cross_framing_protection.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12125 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12130 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12129 [200]: GET /js/dist/rte.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:24 2021] [::1]:12126 Closing
[Sun Apr 25 22:23:24 2021] [::1]:12131 Accepted
[Sun Apr 25 22:23:24 2021] [::1]:12130 [200]: GET /js/vendor/tracekit.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12127 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12132 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12131 [200]: GET /js/dist/error_report.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12128 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12133 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12132 [200]: GET /js/dist/config.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12129 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12134 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12133 [200]: GET /js/dist/doclinks.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12130 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12135 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12134 [200]: GET /js/dist/functions.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12131 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12136 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12135 [200]: GET /js/dist/navigation.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12132 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12137 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12136 [200]: GET /js/dist/indexes.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12133 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12138 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12137 [200]: GET /js/dist/common.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12139 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12138 [200]: GET /js/dist/page_settings.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12134 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12135 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12140 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12139 [200]: GET /js/dist/drag_drop_import.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12136 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12141 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12140 [200]: GET /js/dist/shortcuts_handler.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12137 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12142 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12141 [200]: GET /js/vendor/codemirror/lib/codemirror.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12138 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12143 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12142 [200]: GET /js/vendor/codemirror/mode/sql/sql.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12139 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12144 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12143 [200]: GET /js/vendor/codemirror/addon/runmode/runmode.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12140 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12145 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12144 [200]: GET /js/vendor/codemirror/addon/hint/show-hint.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12146 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12145 [200]: GET /js/vendor/codemirror/addon/hint/sql-hint.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12142 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12147 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12146 [200]: GET /js/vendor/codemirror/addon/lint/lint.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12143 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12148 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12147 [200]: GET /js/dist/codemirror/addon/lint/sql-lint.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12141 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12144 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12148 [200]: GET /js/dist/console.js?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12145 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12146 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12147 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12148 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12149 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12149 [200]: GET /themes/metro/css/printview.css?v=5.1.1-dev%2B20210423.07bf86b483
[Sun Apr 25 22:23:25 2021] [::1]:12149 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12150 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12151 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12150 [200]: GET /themes/metro/img/pma_logo2.png
[Sun Apr 25 22:23:25 2021] [::1]:12152 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12151 [200]: GET /themes/dot.gif
[Sun Apr 25 22:23:25 2021] [::1]:12153 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12152 [200]: GET /themes/metro/img/b_home.png
[Sun Apr 25 22:23:25 2021] [::1]:12154 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12153 [200]: GET /themes/metro/img/s_loggoff.png
[Sun Apr 25 22:23:25 2021] [::1]:12150 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12155 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12154 [200]: GET /themes/metro/img/b_docs.png
[Sun Apr 25 22:23:25 2021] [::1]:12151 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12156 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12155 [200]: GET /themes/metro/img/b_sqlhelp.png
[Sun Apr 25 22:23:25 2021] [::1]:12152 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12157 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12156 [200]: GET /themes/metro/img/s_cog.png
[Sun Apr 25 22:23:25 2021] [::1]:12153 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12158 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12157 [200]: GET /themes/metro/img/s_reload.png
[Sun Apr 25 22:23:25 2021] [::1]:12154 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12159 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12158 [200]: GET /themes/metro/img/s_link.png
[Sun Apr 25 22:23:25 2021] [::1]:12155 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12160 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12159 [200]: GET /themes/metro/img/b_plus.png
[Sun Apr 25 22:23:25 2021] [::1]:12156 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12161 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12160 [200]: GET /themes/metro/img/s_db.png
[Sun Apr 25 22:23:25 2021] [::1]:12157 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12162 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12161 [200]: GET /themes/metro/img/b_sql.png
[Sun Apr 25 22:23:25 2021] [::1]:12158 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12163 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12162 [200]: GET /themes/metro/img/s_status.png
[Sun Apr 25 22:23:25 2021] [::1]:12159 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12164 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12163 [200]: GET /themes/metro/img/b_export.png
[Sun Apr 25 22:23:25 2021] [::1]:12160 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12165 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12164 [200]: GET /themes/metro/img/b_import.png
[Sun Apr 25 22:23:25 2021] [::1]:12161 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12166 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12165 [200]: GET /themes/metro/img/b_tblops.png
[Sun Apr 25 22:23:25 2021] [::1]:12162 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12167 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12166 [200]: GET /themes/metro/img/s_vars.png
[Sun Apr 25 22:23:25 2021] [::1]:12163 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12168 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12167 [200]: GET /themes/metro/img/s_asci.png
[Sun Apr 25 22:23:25 2021] [::1]:12164 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12169 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12168 [200]: GET /themes/metro/img/b_engine.png
[Sun Apr 25 22:23:25 2021] [::1]:12165 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12170 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12169 [200]: GET /themes/metro/img/b_plugin.png
[Sun Apr 25 22:23:25 2021] [::1]:12166 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12171 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12170 [200]: GET /themes/metro/img/s_top.png
[Sun Apr 25 22:23:25 2021] [::1]:12167 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12172 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12171 [200]: GET /themes/metro/img/console.png
[Sun Apr 25 22:23:25 2021] [::1]:12168 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12173 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12172 [200]: GET /themes/metro/img/s_passwd.png
[Sun Apr 25 22:23:25 2021] [::1]:12169 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12174 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12173 [200]: GET /themes/metro/img/b_help.png
[Sun Apr 25 22:23:25 2021] [::1]:12170 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12175 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12174 [200]: GET /themes/metro/img/s_lang.png
[Sun Apr 25 22:23:25 2021] [::1]:12171 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12176 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12175 [200]: GET /themes/metro/img/s_theme.png
[Sun Apr 25 22:23:25 2021] [::1]:12172 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12177 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12176 [200]: GET /themes/metro/img/window-new.png
[Sun Apr 25 22:23:25 2021] [::1]:12173 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12177 [200]: GET /themes/metro/img/s_notice.png
[Sun Apr 25 22:23:25 2021] [::1]:12174 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12175 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12176 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12177 Closing
[Sun Apr 25 22:23:25 2021] [::1]:12178 Accepted
[Sun Apr 25 22:23:25 2021] [::1]:12179 Accepted

( expecting [::1]:12178 and [::1]:12179)

and recorded an application error in event log viewer:

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Application Error" /> 
    <EventID Qualifiers="0">1000</EventID> 
    <Level>2</Level> 
    <Task>100</Task> 
    <Keywords>0x80000000000000</Keywords> 
    <TimeCreated SystemTime="2021-04-25T13:23:25.606715400Z" /> 
    <EventRecordID>48406</EventRecordID> 
    <Channel>Application</Channel> 
    <Computer>WIN-hostname</Computer> 
    <Security /> 
  </System>
  <EventData>
    <Data>php.exe</Data> 
    <Data>8.0.3.0</Data> 
    <Data>603ebdd3</Data> 
    <Data>php8.dll</Data> 
    <Data>8.0.3.0</Data> 
    <Data>603ec3de</Data> 
    <Data>c0000005</Data> 
    <Data>0000000000120d66</Data> 
    <Data>924</Data> 
    <Data>01d739d6288b77f1</Data> 
    <Data>C:\php\php.exe</Data> 
    <Data>C:\php\php8.dll</Data> 
    <Data>f689a670-8e7d-429f-a7d7-c986d5c825d9</Data> 
    <Data /> 
    <Data /> 
  </EventData>
</Event>
williamdes commented 3 years ago

Hi I think this is related to PHP.

Maybe we should document that or find someone that knows more about this

Opening 1 named pipe and 1 tcp mysql connection kills PHP itself:

Do you mean error 500 or just process kill ?

sunghwan2789 commented 3 years ago

Do you mean error 500 or just process kill ?

Using PHP Development Server, the process is just killed and Windows logged the error to event log viewer.

I think responses are just aborted.

image

williamdes commented 3 years ago

I will try to make named pipes on Linux to see what happens If you find some documentation about named pipes let me know

ibennetch commented 3 years ago

You've both done quite a bit of interesting research on the matter.

I think you can not connect 2 connexions on the same named pipe in parallel.

This would be interesting. I've seen no documentation commenting on this either way.

I will try to make named pipes on Linux to see what happens

Named Pipes are only available on Windows.

If you find some documentation about named pipes let me know

Good luck, there doesn't seem to be very much at all about using MySQL with them.

williamdes commented 3 years ago

Named Pipes are only available on Windows.

https://www.linuxjournal.com/article/2156 https://www.networkworld.com/article/3251853/why-use-named-pipes-on-linux.html

I am not quite sure, will double check that ;)

ibennetch commented 3 years ago

Interesting…I was going by https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_named_pipe

Perhaps MySQL has decided not to implement this aspect on Linux?

williamdes commented 3 years ago

From: https://raw.githubusercontent.com/williamdes/mariadb-mysql-kbs/main/dist/merged-raw.md

named_pipe

name value
Name named_pipe
Command line --named-pipe[={OFF|ON}]
Type of variable boolean
Scope global
Default value OFF
Dynamic false

Documentation(s)

source anchor name
mariadb.com named_pipe
dev.mysql.com sysvar_named_pipe

Both docs seem to say this is Windows only, the big question is: Is it ? 😄

williamdes commented 3 years ago

Checked on my MariaDB 10.6 local server and the named pipe option does not work

But it is possible to create named pipes on Linux: https://dev.to/0xbf/use-mkfifo-to-create-named-pipe-linux-tips-5bbk The wikipedia page even talks about loading data into MySQL using a named pipe: https://en.wikipedia.org/wiki/Named_pipe

I think we can conclude that you must use a socket file and not a named pipe in this setup