I faced with “Cannot access the database: No such file or directory (localhost:3306)” error during “Connect to database” mediawiki installtion step. I am truing install Mediawiki on Windows and downloaded Mediawiki image with command: docker pull mediawiki.
I run new container with command like bellow
docker run --name <new_container_name> -e MYSQL_ROOT_PASSWORD=mysecretpassword –p 8080:80 -d <image_name>
Run new mediawiki container with command like bellow
docker run --link mysql:db -p 80:80 -p 443:443 -d simplyintricate/mediawiki
I receive “Cannot access the database: No such file or directory (localhost)” error message when I specify MySql credentials during “Connect to database” step.
wikimedia/mediawiki – mediawiki is not available at all (http://localhost)
synctree/mediawiki – mediawiki is not available at all (http://localhost), and I couldnot enter to mediawiki container (docker exec –it mediawiki_ synctree bash).
I tried link Mediawiki container to MySql container, but this did not help.
I installed MySql server on my PC. TNC command in PowerShell returns success, but Mediawiki installations reruns the same “Cannot access…” error.
Also I tried to use different ip address for access to MySql, but TNC command returns error for all ip adrees, and Mediawiki installation still returns “Cannot access…” error. TNC is success only for localhost -Port 3306.
I created new containers bellow, and allow the user within MySQL to connect from the IP of my host machine. I tested ip 0.0.0.0 and 127.0.0.1 but I receive the same error.
Also for “but what if” I tested several ip bellow.
MySql.
Mediawiki
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d0fc15fdee32 simplyintricate/mediawiki “/bin/sh -c /bin/sta…” 8 days ago Up About an hour 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp mediawiki-simplyintricate
ee991977212e mysql/mysql-server “/entrypoint.sh mysq…” 8 days ago Up About an hour (healthy) 0.0.0.0:3306->3306/tcp, 33060/tcp mysqlwiki
(Database name:“my_wiki”, Database username:“monty”, Database password:“some_pass” are valid parameters. I can login in mysql with Database username:“monty”, Database password:“some_pass” “C:\Users\mpav>docker exec -it mysqlwiki mysql -u monty -h 127.0.0.1 -p”).
Also I checked my Mediawiki container with “docker inspect mediawiki-simplyintricate” and tried to use “Database host:” ip:
172.17.0.1
Cannot access the database: Server sent charset unknown to the client. Please, report to the developers (172.17.0.1).
172.17.0.2
Database host: 172.17.0.2 - “Cannot access the database: Server sent charset unknown to the client. Please, report to the developers (172.17.0.2).”
I found DockerNAT ip 10.0.75.1 when I executed command “Get-NetIPAddress” in PowerShell and tested this ip too:
Database host: 10.0.75.1:3306 - " Cannot access the database: Connection timed out (10.0.75.1:3306)"
Database host: 10.0.75.1 - “Cannot access the database: Connection timed out (10.0.75.1)”
I also tested two ip bellow for “but what if”:
Database host: 10.98.1.71 - “Cannot access the database: Server sent charset unknown to the client. Please, report to the developers (10.98.1.71)”
Database host: 172.20.176.1 - “Cannot access the database: Server sent charset unknown to the client. Please, report to the developers (172.20.176.1)”
It seems like the ips with the errors " Cannot access the database: Server sent charset unknown to the client. Please, report to the developers" actually hits a database.
can you try and add/edit these settings to your mysql my.cnf:
I added this two string in my.cnf and tried to test mysql with telnet(please see bellow). Wiki still can not connect to mysql server.
telnet 127.0.0.1 3306
J
Z6sSLJ3A nZa
N.;)LARcaching_sha2_password!#08S01Got packets out of order
Connection to host lost.
Wiki returns the error
Database host: 127.0.0.1 - " Cannot access the database: Connection refused (127.0.0.1)."
Cannot access the database: Connection refused (127.0.0.1).
I can login in MySql:
C:\Users\mpav>docker exec -it mysqlwiki mysql -u root -h 127.0.0.1 -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 8.0.13 MySQL Community Server - GPL
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql>
Could you please advice if this problem can be ralated to Windows?
I try setup Mediawiki on Windows.
I try to use Mysql from docker image on the same PC (I tried several images).
I try to setup MySql server “as usual” on PC (without Docker).
All warians MySql server returns the same ansver in “telnet”. And Mediawiki can not connect to MySql in all this cases.
Command like “mysql -u root -h 127.0.0.1 -p” works fine in all variants MySql(several docker images and “as usual” MySql server).
I can connect from MySql client- Workbench to mysql when MySql56-server is sarted (not Docker). But I can not to connect to MySql started from docker(when MySql56 server is stopped) from MySql client - Workbench.