Database exception 2002 возникла внутренняя ошибка сервера

I got an issue with the db connection in Yii2 while doing the setup on portal.azure.com server.
I have tried to check the connection, but that works fine with the mysqli connection.
For more details please find the attachments.

Database Exception (#2002):

enter image description here

PDOException:

enter image description here

Thanks

Pramod Gharu's user avatar

Pramod Gharu

1,1053 gold badges9 silver badges18 bronze badges

asked Dec 3, 2016 at 6:08

Deepak Jangra's user avatar

I resolved it by adding ‘host=’ in dsn->mysql as below:-
‘dsn’ => ‘mysql:host=u*-****-azure-******-f.cloudapp.net;dbname=****’

answered Dec 3, 2016 at 7:42

Deepak Jangra's user avatar

check runned or failed mysql service

answered Feb 17, 2022 at 16:10

user2557755's user avatar

I use ubuntu 16.04.
PHP Version 7.0.4-7ubuntu2.
Apache/2.4.18 (Ubuntu) .
PHP extension: mysqli (in phpmyadmin Written).

I got Upgrade my ubuntu from 15.10 to 16.04 and I have this error:

My project correctly run in my server but I can’t run that in my os:

Database Exception – yiidbException
SQLSTATE[HY000] [2002] No such file or directory
↵
Caused by: PDOException
SQLSTATE[HY000] [2002] No such file or directory

in /var/www/html/iicitySite/vendor/yiisoft/yii2/db/Connection.php at line 579

nicolascolman's user avatar

asked Apr 29, 2016 at 5:53

Saltern's user avatar

4

Changing «localhost» to «127.0.0.1» as your host

return [
    'components' => [
        'db' => [
            'class' => 'yiidbConnection',    
            'dsn' => 'mysql:host=127.0.0.1;dbname=abc',
            'username' => 'root',
            'password' => '',
            'charset' => 'utf8',
        ],

answered Aug 6, 2016 at 8:52

vijay nathji's user avatar

vijay nathjivijay nathji

1,59813 silver badges23 bronze badges

1

For MAMP users solution is

'components' => [
    'db' => [
        'class' => 'yiidbConnection',
        'dsn' => 'mysql:host=localhost;port=8889;dbname=mydbname;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock',
        'username' => 'myuser',
        'password' => 'mypassword',
        'charset' => 'utf8',
    ],
],

answered Sep 10, 2017 at 10:55

sirjay's user avatar

sirjaysirjay

1,7573 gold badges32 silver badges52 bronze badges

Hope this answer will help You:

Change the Host name from localhost to 127.0.0.1

This is inside backendcommonconfigmain-local.php

Now you run php yii migrate .

Hope, It will successfully create the tables in Database

answered Aug 9, 2016 at 12:54

Deepak swain's user avatar

Deepak swainDeepak swain

3,3501 gold badge30 silver badges26 bronze badges

if you use mamp,don’t use «php» command in MAC OS, but use «php» in mamp, such as /Applications/MAMP/bin/php/php5.6.30/bin/php yii migrate.

legoscia's user avatar

legoscia

39.9k22 gold badges114 silver badges166 bronze badges

answered May 15, 2017 at 9:41

qiaoer's user avatar

I had this same problem too. Changing localhost didn’t solve my problem. Instead, add your db port like this:

'dsn'=>'mysql:host=localhost:3307;dbname=geep'

rob006's user avatar

rob006

21.2k5 gold badges53 silver badges74 bronze badges

answered May 23, 2018 at 11:42

Olamide226's user avatar

Olamide226Olamide226

3975 silver badges12 bronze badges

I’m running on MAMP environment and works well using 2 solutions above

  1. change localhost to 127.0.0.1
  2. remain as localhost and define mysql port even default port been used (localhost:3306)

answered Sep 7, 2018 at 1:17

Hairunizam Mohamed Salleh's user avatar

For PHP 7.2.24-0ubuntu0.18.04.3,

  • Get mysql socket path
  • add socket info to the database config of yii2

To get the socket path login to the mysql and perform following steps

  • Open Terminal and perform following steps

    mysql -u root -p
    mysql> show variables like '%sock%';
    +-----------------------------------------+------------------------------------------------------+
    | Variable_name                           | Value                                                |
    +-----------------------------------------+------------------------------------------------------+
    | mysqlx_socket                           | /tmp/mysqlx.sock                                     |
    | performance_schema_max_socket_classes   | 10                                                   |
    | performance_schema_max_socket_instances | -1                                                   |
    | socket                                  | /opt/packages/lampstack-7.3.9-0/mysql/tmp/mysql.sock |
    +-----------------------------------------+------------------------------------------------------+
    4 rows in set (0.00 sec)
    exit
    
  • Next add following config information

    'class' => 'yiidbConnection',
    'dsn' => 'mysql:unix_socket=/opt/packages/lampstack-7.3.9-0/mysql/tmp/mysql.sock;dbname=basketmantra',
    'username' => 'root',
    'password' => 'root123',
    'charset' => 'utf8',
    

I hope this helps

In Some cases you may use httpd or apache or lampp then also make sure to check php and mysql commands in terminal are same as versions web servers are using.

phpinfo() in web server is helpful to find out the versions web server is using

    <?php
        phpinfo();
    ?>

For commands

    $ type php
    php is hashed (/usr/bin/php)

    $ type mysql
    mysql is /opt/packages/lampstack-7.3.9-0/mysql/bin/mysql

answered Mar 21, 2020 at 13:50

Gireesh's user avatar

GireeshGireesh

4687 silver badges13 bronze badges

Using yii2, my solution is to comment codes in common/main-local.php
For some reason, yii2 try to get main-local.php in production instead of main.php in the folder common, but when is commented it works (get DB configs on common/main.php

<?php
// common/main-local.php
return [
 /*  'components' => [
       'db' => [
           'class' => 'yiidbConnection',
           'dsn' => 'mysql:host=172.17.0.2;dbname=ememariadb',
           'username' => 'dbsenha',
           'password' => 'dbUser',
           'charset' => 'utf8',
       ],
   ],*/
];

answered Jun 11, 2021 at 16:08

Coyas's user avatar

CoyasCoyas

731 silver badge10 bronze badges

In my case I have my setup running in Docker. I had the same error message and had to run the migrate command inside docker.

docker exec -it <container ID> bash
cd app
php yii migrate

answered Mar 4 at 14:33

HVossi92's user avatar

MySQL — система управления базами данных (СУБД) с открытым исходным кодом от компании Oracle. Она была разработана и оптимизирована специально для работы веб-приложений. MySQL является неотъемлемой частью таких веб-сервисов, как Facebook, Twitter, Wikipedia, YouTube и многих других.

Эта статья расскажет, как определять, с чем связаны частые ошибки на сервере MySQL, и устранять их.

Не удаётся подключиться к локальному серверу

Одной из распространённых ошибок подключения клиента к серверу является «ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)».

Эта ошибка означает, что на хосте не запущен сервер MySQL (mysqld) или вы указали неправильное имя файла сокета Unix или порт TCP/IP при попытке подключения.

Убедитесь, что сервер работает. Проверьте процесс с именем mysqld на хосте сервера, используя команды ps или grep, как показано ниже.

$ ps xa | grep mysqld | grep -v mysqld

Если эти команды не показывают выходных данных, то сервер БД не работает. Поэтому клиент не может подключиться к нему. Чтобы запустить сервер, выполните команду systemctl.

$ sudo systemctl start mysql        #Debian/Ubuntu
$ sudo systemctl start mysqld       #RHEL/CentOS/Fedora

Чтобы проверить состояние службы MySQL, используйте следующую команду:

$ sudo systemctl status mysql       #Debian/Ubuntu
$ sudo systemctl status mysqld      #RHEL/CentOS/Fedora

Если в результате выполнения команды произошла ошибка службы MySQL, вы можете попробовать перезапустить службу и ещё раз проверить её состояние.

$ sudo systemctl restart mysql
$ sudo systemctl status mysql

Если сервер работает (как показано) и вы по-прежнему видите эту ошибку, вам следует проверить, не заблокирован ли порт TCP/IP брандмауэром или любой другой службой блокировки портов.

Для поиска порта, который прослушивается сервером, используйте команду netstat.

$ sudo netstat -tlpn | grep "mysql"

Ещё одна похожая и часто встречающаяся ошибка подключения — «(2003) Can’t connect to MySQL server on ‘server’ (10061)». Это означает, что в сетевом соединении было отказано.

Следует проверить, работает ли в системе сервер MySQL (смотрите выше) и на тот ли порт вы подключаетесь (как найти порт, можно посмотреть выше).

Похожие частые ошибки, с которыми вы можете столкнуться при попытке подключиться к серверу MySQL:

ERROR 2003: Cannot connect to MySQL server on 'host_name' (111)
ERROR 2002: Cannot connect to local MySQL server through socket '/tmp/mysql.sock' (111)

Ошибки запрета доступа в MySQL

В MySQL учётная запись (УЗ) определяется именем пользователя и клиентским хостом, с которого пользователь может подключиться. УЗ может также иметь данные для аутентификации (например, пароль).

Причин для запрета доступа может быть много. Одна из них связана с учётными записями MySQL, которые сервер разрешает использовать клиентским программам при подключении. Это означает, что имя пользователя, указанное в соединении, может не иметь прав доступа к базе данных.

В MySQL есть возможность создавать учётные записи, позволяющие пользователям клиентских программ подключаться к серверу и получать доступ к данным. Поэтому при ошибке доступа проверьте разрешение УЗ на подключение к серверу через клиентскую программу.

Увидеть разрешённые привилегии учётной записи можно, выполнив в консоли команду SHOW GRANTS
Входим в консоль (пример для Unix, для Windows консоль можно найти в стартовом меню):

В консоли вводим команду:

> SHOW GRANTS FOR 'tecmint'@'localhost';

Дать привилегии конкретному пользователю в БД по IP-адресу можно, используя следующие команды:

> grant all privileges on *.test_db to 'tecmint'@'192.168.0.100';
> flush privileges;

Ошибки запрещённого доступа могут также возникнуть из-за проблем с подключением к MySQL (см. выше).

Потеря соединения с сервером MySQL

С этой ошибкой можно столкнуться по одной из следующих причин:

  • плохое сетевое соединение;
  • истекло время ожидания соединения;
  • размер BLOB  больше, чем max_allowed_packet.

В первом случае убедитесь, что у вас стабильное сетевое подключение (особенно, если подключаетесь удалённо).

Если проблема с тайм-аутом соединения (особенно при первоначальном соединении MySQL с сервером), увеличьте значение параметра connect_timeout.

В случае с размером BLOB нужно установить более высокое значение для max_allowed_packet в файле конфигурации /etc/my.cnf в разделах [mysqld] или [client] как показано ниже.

[mysqld]
connect_timeout=100
max_allowed_packet=500M

Если файл конфигурации недоступен, это значение можно установить с помощью следующей команды.

> SET GLOBAL connect_timeout=100;
> SET GLOBAL max_allowed_packet=524288000;

Слишком много подключений

Эта ошибка означает, что все доступные соединения используются клиентскими программами. Количество соединений (по умолчанию 151) контролируется системной переменной max_connections. Устранить проблему можно, увеличив значение переменной в файле конфигурации /etc/my.cnf.

[mysqld]
max_connections=1000

Недостаточно памяти

Если такая ошибка возникла, это может означать, что в MySQL недостаточно памяти для хранения всего результата запроса.

Сначала нужно убедиться, что запрос правильный. Если это так, то нужно выполнить одно из следующих действий:

  • если клиент MySQL используется напрямую, запустите его с ключом --quick switch, чтобы отключить кешированные результаты;
  • если вы используете драйвер MyODBC, пользовательский интерфейс (UI) имеет расширенную вкладку с опциями. Отметьте галочкой «Do not cache result» (не кешировать результат).

Также может помочь MySQL Tuner. Это полезный скрипт, который подключается к работающему серверу MySQL и даёт рекомендации по настройке для более высокой производительности.

$ sudo apt-get install mysqltuner     #Debian/Ubuntu
$ sudo yum install mysqltuner         #RHEL/CentOS/Fedora
$ mysqltuner

MySQL продолжает «падать»

Если такая проблема возникает, необходимо выяснить, заключается она в сервере или в клиенте. Обратите внимание, что многие сбои сервера вызваны повреждёнными файлами данных или индексными файлами.

Вы можете проверить состояние сервера, чтобы определить, как долго он работал.

$ sudo systemctl status mysql       #Debian/Ubuntu
$ sudo systemctl status mysqld      #RHEL/CentOS/Fedora

Чтобы узнать время безотказной работы сервера, запустите команду mysqladmin.

$ sudo mysqladmin version -p 

Кроме того, можно остановить сервер, сделать отладку MySQL и снова запустить службу. Для отображения статистики процессов MySQL во время выполнения других процессов откройте окно командной строки и введите следующее:

$ sudo mysqladmin -i 5 status

Или

$ sudo mysqladmin -i 5 -r status

Заключение

Самое важное при диагностике — понять, что именно вызвало ошибку. Следующие шаги помогут вам в этом:

  • Первый и самый важный шаг — просмотреть журналы MySQL, которые хранятся в каталоге /var/log/mysql/. Вы можете использовать утилиты командной строки вроде tail для чтения файлов журнала.
  • Если служба MySQL не запускается, проверьте её состояние с помощью systemctl. Или используйте команду journalctl (с флагом -xe) в systemd.
  • Вы также можете проверить файл системного журнала (например, /var/log/messages) на предмет обнаружения ошибок.
  • Попробуйте использовать такие инструменты, как Mytop, glances, top, ps или htop, чтобы проверить, какая программа использует весь ресурс процессора или блокирует машину. Они также помогут определить нехватку памяти, дискового пространства, файловых дескрипторов или какого-либо другого важного ресурса.
  • Если проблема в каком-либо процессе, можно попытаться его принудительно остановить, а затем запустить (при необходимости).
  • Если вы уверены, что проблемы именно на стороне сервера, можете выполнить команды: mysqladmin -u root ping или mysqladmin -u root processlist, чтобы получить от него ответ.
  • Если при подключении проблема не связана с сервером, проверьте, нормально ли работает клиент. Попробуйте получить какие-либо его выходные данные для устранения неполадок.

Перевод статьи «Useful Tips to Troubleshoot Common Errors in MySQL»

Привет, Александр.
Поставил Денвер, и такая вот петрушка, вроде все установилось, но….

Денвер, MySQL сервер не отвечает, ошибка 2002

Денвер, MySQL сервер не отвечает, ошибка 2002 (45.64 Кб) Просмотров: 21228

MySQL сервер не отвечает, ошибка 2002.
Sergej
 
Сообщения: 24
Зарегистрирован: 15 сен 2014, 21:44

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Александр » 19 окт 2014, 13:20

Вообще, когда Денвер запускаешь, mysql сервер стартует?
Попробуй, отключив Антивирус и Брандмауэр запусти Денвер.
Для начала посмотри в диспетчере задач Windows, там должен быть процесс mysqld.exe
Если он там есть потом тебе нужно в командной строке Windows ввести:

Код: Выделить всё
telnet 127.0.0.1 3306

Должен быть какой-то ответ от MySQL сервера в виде строки с каким-то текстом (могут быть кракозябы) это значит, что сервер ответил.
Если же будет сообщение типа «Не у далось открыть подключение к этому узлу на порт 3306….» — значит не подключается.
Тогда пробуй команду:

Код: Выделить всё
telnet localhost 3306

Если она будет успешной, то возможно, проблема из серии настройки сети ipv6 и т. п.

http://forum.dklab.ru/viewtopic.php?t=38843

Если не успешно, смотри кто слушает порт 3306
В командной строке Windows выполни:

Код: Выделить всё
netstat -an

(в выводе правой кнопкой мыши ищи 3306)
или более детальная:

Код: Выделить всё
netstat -ab

Ну и на всякий случай убедись, что порт MySQL в конфигурационном файле задан как 3306, также посмотри файл ошибок MySQL
Стандартный проводник Windows может не показывать эти файлы, тогда пользуйся каким-нибудь файловым менеджером.
Где у тебя расположены эти файлы, см. на форуме Денвера, обычно конфигурационный лежит в Z:usrlocalmysql5 , файл ошибок в Z:usrlocalmysql5data

http://www.denwer.ru/faq/other.html#h30-15

Александр
 
Сообщения: 394
Зарегистрирован: 20 мар 2014, 17:05

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Sergej » 19 окт 2014, 14:43

В диспетчере такого процесса нет хотя изначально при загрузке денвер в командной строке пишет что-то вроде:

Что касаемо порта 3306 я так понимаю это к нему относится

Код: Выделить всё
# The following options will be passed to all MySQL client.

[client]

port                  = 3306

socket                = /tmp/mysql5.sock

character-sets-dir    = /usr/local/mysql-5.5/share/charsets

# Кодировка консоли mysql.exe по умолчанию.

default-character-set = cp1251

# The MySQL server

[mysqld]

# Обработывать запросы ТОЛЬКО с локальной машины (повышает безопасность).

# Если вы хотите, чтобы MySQL-сервер был доступен из сети,

# уберите следующую ниже директиву.

bind-address = 127.0.0.1

port                       = 3306

Это в файле my.ini прописано

Файл с ошибками подкрепляю, погляди пожалуйста может чего увидишь

Sergej
 
Сообщения: 24
Зарегистрирован: 15 сен 2014, 21:44

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Александр » 19 окт 2014, 17:30

Смотри в сторону конфигурационного файла и затребуемых там ресурсов памяти.

Вот похоже что обрывает процесс:

InnoDB: Error: auto-extending data file .ibdata1 is of a different size
InnoDB: 384 pages (rounded down to MB) than specified in the .cnf file:
InnoDB: initial 640 pages, max 0 (relevant if non-zero) pages!
141014 20:08:15 InnoDB: Could not open or create data files.
141014 20:08:15 InnoDB: If you tried to add new data files, and it failed here,
141014 20:08:15 InnoDB: you should now edit innodb_data_file_path in my.cnf back
141014 20:08:15 InnoDB: to what it was, and remove the new ibdata files InnoDB created
141014 20:08:15 InnoDB: in this failed attempt. InnoDB only wrote those files full of
141014 20:08:15 InnoDB: zeros, but did not yet use them in any way. But be careful: do not
141014 20:08:15 InnoDB: remove old data files which contain your precious data!
141014 20:08:15 [ERROR] Plugin ‘InnoDB’ init function returned error.
141014 20:08:15 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
141014 20:08:15 [ERROR] Unknown/unsupported storage engine: InnoDB
141014 20:08:15 [ERROR] Aborting

Пробей в Яндексе по этим ошибкам.
Вот, кажется наиболее простое (Дмитрий Кóтеров кстати, разработчик Денвера)

http://forum.dklab.ru/viewtopic.php?t=14113

http://forum.dklab.ru/viewtopic.php?p=72845#72845

Думаю примерно так: у MySQL есть разные движки для хранения данных, основные: MyISAM и InnoDB. InnoDB, кажется, в Денвере не используется.
В силу каких-то твоих особенностей (может ты раньше Mysql/Денвер устанавливал, но плохо удалил или еще бог знает что..), в общем, кажется этот InnoDB пытается создать дополнительное хранилище и натыкается на какое-то ограничение в конфигурации.
Тебе нужно почитать как в Денвере устроено конфигурирование MySQL (один конфигурационный файл или есть еще где-то, если в конфиге какие-то лимиты не прописаны, может они по умолчанию в MySQL идут).

Может потребуется удалить файл типа .ibdata1 не знаю. Все удаления лучше делай в последюю очередь, даже лучше не удалять, наверное, а просто переименовывать.

Последний раз редактировалось Александр 24 ноя 2014, 14:42, всего редактировалось 1 раз.

Александр
 
Сообщения: 394
Зарегистрирован: 20 мар 2014, 17:05

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Sergej » 20 окт 2014, 20:10

Спасибо помогло, теперь надо разобраться с ограничениями, он выкидывает какие то лимиты на загрузку файлов

Sergej
 
Сообщения: 24
Зарегистрирован: 15 сен 2014, 21:44

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Sergej » 21 окт 2014, 19:46

Привет! Как всегда нужна твоя помощь, с денвером вроде разобрался, но вот досада при закачке файлов сайта на сервер возникают проблемы, судя по различным комментариям в инете это нормально, при возникновении каких любо проблем в самом phpadmyn отражаются какие именно необходимо решить вопросы, так все и шло изначально, но вдруг столкнулся с такой проблемой (#1064 — You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near »2014-08-‘ at line 1) и никак не могу найти толкового ответа, может подскажешь что это?

Sergej
 
Сообщения: 24
Зарегистрирован: 15 сен 2014, 21:44

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Александр » 21 окт 2014, 20:53

Привет.
Т. е. ты хочешь залить на локальный mysql-сервер дамп, сделанный на хостинге? ты его случайно не открывал простым блокнотом и потом пересохранял?
Пришли мне на почту сам дамп что ли.
Чтобы сразу исключить и на будущее, почитай про BOM

http://mywordpress.ru/support/viewtopic.php?id=2461

вот еще

http://sqlinfo.ru/articles/info/15.html

Я тебе, кстати, писал когда-то, что стандартными windows редакторами не пользуйся т. к. там всякие «сюрпризы» могут быть, используй либо notepad++ либо notepad2

http://notepad-plus-plus.org

Александр
 
Сообщения: 394
Зарегистрирован: 20 мар 2014, 17:05

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Sergej » 21 окт 2014, 21:26

Я его открывал и пересохранял но через notepad++

Sergej
 
Сообщения: 24
Зарегистрирован: 15 сен 2014, 21:44

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Александр » 21 окт 2014, 22:16

Я смотрю, дамп имеет кодировку Windows-1251. Похоже, что при экспорте на хостинге в PhpMyAdmin или какая программа там еще, не знаю.. была выставлена кодировка Windows-1251 (синоним CP1251) а нужна UTF-8, насколько я понимаю..
И ты наверное пытаешься на Денвере залить через PhpMyAdmin этот файл как файл, имеющий кодировку UTF-8.
Примерно так, в общем, похоже на какую-то несогласованность в кодировках.

И еще, смотрю в дампе стоит тип ENGINE=InnoDB. Похоже хостер так настроил СУБД тип InnoDB и экспорт в Windows 1251.
Короче, в такой ситуации, думаю тебе пока не стоит заливать базу назад на хостинг…
Но для локальных экспериментов попробуй в Notepad++ перекодировать этот файл в UTF8 без BOM и поиском/заменой поменяй InnoDB на MyISAM.
Локально не страшно пробовать. На хостинг, опять повторяю, наверное лучше пока тебе не пытаться базу перезаливать, пока не разберешься что к чему.

Александр
 
Сообщения: 394
Зарегистрирован: 20 мар 2014, 17:05

Re: Денвер, MySQL сервер не отвечает, ошибка 2002

Sergej » 21 окт 2014, 22:50

Понял буду пробовать

Sergej
 
Сообщения: 24
Зарегистрирован: 15 сен 2014, 21:44


Вернуться в SQL

I need help bad…I got this error trying to display a database using php:

mysqli_connect(): (HY000/2002): Can’t connect to local MySQL server
through socket ‘/Applications/MAMP/tmp/mysql/mysql.sock’ (2) in
/Applications/MAMP/htdocs/databases.php on line 7 Database connection
failed: Can’t connect to local MySQL server through socket
‘/Applications/MAMP/tmp/mysql/mysql.sock’ (2) (2002)

I’ve been trying to fix it for days, reading through this forum from people with the same issues, and applying the fixes (like this one http://tinyurl.com/q4cpxzj) with absolutely no luck.

Here’s some steps I’ve tried: Going into php.ini file and changing the socket to /tmp/mysql.sock (I also tried changing it to /Applications/MAMP/tmp/mysql/mysql.sock to see what happens, no good).

Tried doing the same to /etc/my.cnf file. No good.

Tried a bunch of other things I can’t even remember anymore.

Also, I’m using Mac 10.10.2 and I have MAMP installed. According to MAMP, only Apache is working (green light by Apache and nothing on MySQL) but I’ve downloaded MySQL and according to System Pref it is running, although it won’t let me stop MySQL server for some reason (when I click stop it would stop then restart again on its own).

Please help…

If it matters, here’s the php:

<?php
  // 1. Create a database connection
  $dbhost = "localhost";
  $dbuser = "widget_cms";
  $dbpass = "*********";
  $dbname = "widget_corp";
  $connection = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
  // Test if connection succeeded
  if(mysqli_connect_errno()) {
    die("Database connection failed: " . 
         mysqli_connect_error() . 
         " (" . mysqli_connect_errno() . ")"
    );
  }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html lang="en">
    <head>
        <title>Databases</title>
    </head>
    <body>

    </body>
</html>

<?php
  // 5. Close database connection
  mysqli_close($connection);
?>

I need help bad…I got this error trying to display a database using php:

mysqli_connect(): (HY000/2002): Can’t connect to local MySQL server
through socket ‘/Applications/MAMP/tmp/mysql/mysql.sock’ (2) in
/Applications/MAMP/htdocs/databases.php on line 7 Database connection
failed: Can’t connect to local MySQL server through socket
‘/Applications/MAMP/tmp/mysql/mysql.sock’ (2) (2002)

I’ve been trying to fix it for days, reading through this forum from people with the same issues, and applying the fixes (like this one http://tinyurl.com/q4cpxzj) with absolutely no luck.

Here’s some steps I’ve tried: Going into php.ini file and changing the socket to /tmp/mysql.sock (I also tried changing it to /Applications/MAMP/tmp/mysql/mysql.sock to see what happens, no good).

Tried doing the same to /etc/my.cnf file. No good.

Tried a bunch of other things I can’t even remember anymore.

Also, I’m using Mac 10.10.2 and I have MAMP installed. According to MAMP, only Apache is working (green light by Apache and nothing on MySQL) but I’ve downloaded MySQL and according to System Pref it is running, although it won’t let me stop MySQL server for some reason (when I click stop it would stop then restart again on its own).

Please help…

If it matters, here’s the php:

<?php
  // 1. Create a database connection
  $dbhost = "localhost";
  $dbuser = "widget_cms";
  $dbpass = "*********";
  $dbname = "widget_corp";
  $connection = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
  // Test if connection succeeded
  if(mysqli_connect_errno()) {
    die("Database connection failed: " . 
         mysqli_connect_error() . 
         " (" . mysqli_connect_errno() . ")"
    );
  }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html lang="en">
    <head>
        <title>Databases</title>
    </head>
    <body>

    </body>
</html>

<?php
  // 5. Close database connection
  mysqli_close($connection);
?>

Я пытаюсь использовать соединение PHP для подключения базы данных MySQL, которая находится на phpmyadmin. Ничего особенного в соединении просто пытаюсь увидеть, успешно оно установлено или нет. Я использую MAMP для размещения базы данных, соединение, которое я пытаюсь использовать, это:

<?php
$servername = "127.0.0.1";
$username = "root";
$password = "root";

try {
    $conn = new PDO("mysql:host=$servername;dbname=AppDatabase", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully"; 
}
catch(PDOException $e)
{
    echo "Connection failed: " . $e->getMessage();
}
?>

Я использовал почтальон, чтобы проверить, работает ли соединение, но я продолжаю получать это сообщение об ошибке:

Ошибка подключения: SQLSTATE [HY000] [2002] Подключение отклонено

Прежде чем я получил сообщение об ошибке:

Ошибка подключения: SQLSTATE [HY000] [2002] Нет такого файла или каталога

Это было потому, что я установил имя сервера в localhost, изменив его на IP-адрес, который дал мне отказ в соединении, и я понятия не имею, что не так.

Любая помощь по этому поводу будет принята с благодарностью.

Скрипт:

<?php
$db_host        = ;
$db_user        = ;
$db_password        = ;
$db_name    = ;

	
	$link = mysqli_connect($db_host, $db_user, $db_password, $db_name);
	if (!$link) {
    	die('<p style="color:red">'.mysqli_connect_errno().' - '.mysqli_connect_error().'</p>');
	}
		
	echo "<p>Вы подключились к MySQL!</p>";
?>

выводит код:
2002 — php_network_getaddresses: getaddrinfo failed: Name or service not known
скрипт находится на хостинге: hostiman.ru
В чём суть ошибки?

Постоянно выскакивает ошибка Error 2002

интервал примерно 40 минут — 1 час.

Uncaught exception waDbException:
Database error. See log for details. (2002)
## wa-system/database/waDbMysqliAdapter.class.php(33)
#0 wa-system/database/waDbAdapter.class.php(30): waDbMysqliAdapter->connect(Array)
#1 wa-system/database/waDbConnector.class.php(49): waDbAdapter->__construct(Array)
#2 wa-system/database/waModel.class.php(75): waDbConnector::getConnection('default', false)
#3 wa-system/contact/waContact.class.php(851): waModel->__construct()
#4 wa-system/waSystem.class.php(996): waContact->getLocale()
#5 wa-system/waSystem.class.php(1151): waSystem->getApps()
#6 wa-system/waSystem.class.php(538): waSystem->appExists('webasyst')
#7 wa-system/waSystem.class.php(485): waSystem->dispatchBackend('webasyst/')
#8 index.php(7): waSystem->dispatch()
#9 {main}
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111 "Connection refused")
## wa-system/database/waDbMysqliAdapter.class.php(33)
#0 wa-system/database/waDbAdapter.class.php(30): waDbMysqliAdapter->connect(Array)
#1 wa-system/database/waDbConnector.class.php(49): waDbAdapter->__construct(Array)
#2 wa-system/database/waModel.class.php(75): waDbConnector::getConnection('default', false)
#3 wa-system/user/waAuthUser.class.php(113): waModel->__construct()
#4 wa-system/user/waAuthUser.class.php(52): waAuthUser->updateLastTime()
#5 wa-system/user/waAuthUser.class.php(24): waAuthUser->init()
#6 wa-system/waSystem.class.php(240): waAuthUser->__construct(NULL, Array)
#7 wa-system/waSystem.class.php(281): waSystem::getCommonFactory('auth_user', 'waAuthUser', Array, NULL)
#8 wa-system/waSystem.class.php(526): waSystem->getUser()
#9 wa-system/waSystem.class.php(485): waSystem->dispatchBackend('webasyst/')
#10 index.php(7): waSystem->dispatch()
#11 {main}

интервал примерно 40 минут — 1 час.

Настроили автоочиску кэша SQL с интервалом в 1 час, т.к. быстро переполняется память.

Подскажите как исправить чтобы сайт не падал постоянно?

Работает на сервере VPS

Процессор 2 ядра 2x 2.13-2.5 ГГц

RAM 2 Гб

HDD 40 Гб RAID-10

IP-адреса 1 IPv4

Трафик Не ограничен 100 Mbps Shared

  • Data retrieval failures occurred ошибка
  • Data folder not found как исправить ошибку
  • Dashchan ошибка при загрузке данных
  • Dash 3 media err decode ошибка
  • Das ошибка cal 870