При установке базы данных произошла ошибка phpmyadmin

В статье рассказывается:

  1. Суть и причины возникновения ошибки установки соединения с базой данных
  2. Первые шаги устранения ошибки установки соединения
  3. 3 способа устранения ошибки установки соединения с БД
  4. Дополнительные методы устранения ошибки установки соединения с БД
  5. Профилактика возникновения ошибки установки соединения с базой данных
  6. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.

    Бесплатно от Geekbrains

Ошибка установки соединения с базой данных — довольно частое явление на WordPress, которое может быть вызвано различными причинами. При первом появлении она может добавить седых волос владельцу сайта, ведь доступ к ресурсу будет невозможен, включая и его «админку», и при недостатке знаний ставит в тупик.

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

Суть и причины возникновения ошибки установки соединения с базой данных

Чтобы понять, что означает “Ошибка установки соединения с базой данных” (Error establishing a database connection) разберемся, как работает WordPress и выясним, что такое база данных.

WordPress – одна из самых популярных CMS – систем., т.е. систем управления контентом. Это программное обеспечение, позволяющее добавлять, удалять и редактировать содержание вашего сайта без знаний языков программирования. Вся информация о контенте хранится в базе данных.

База данных — это и есть совокупность информации, организованная так, чтобы при необходимости компьютер смог ее найти и обработать. Все сведения о вашем WordPress сайте хранится в базе данных на серверах вашего хостинг- провайдера. Любое действие на сайте приводит кому, что WordPress посылает запрос на нужную информацию в базу данных. Если запрос успешно обработан, то пользователь получает нужную информацию.

Суть и причины возникновения ошибки установки соединения с базой данных

Суть и причины возникновения ошибки установки соединения с базой данных

Одним из наиболее важных файлов в WordPress является wp-config.php файл. Он находится в корневой директории и содержит сведения о конфигурации вашего сайта, в том числе и информацию о подключении к базе данных. Важно, чтобы эта информация была прописана в строго определенном порядке:

  • Database Name — Имя базы данных
  • Database Username — Имя пользователя базы данных
  • Database Password — Пароль пользователя базы данных
  • Database Host — Сервер базы данных

Таким образом, в большинстве случаев “Ошибка установки соединения с базой данных” возникает, если информация, описанная выше, указана не верно. Кроме того, ошибка может быть вызвана повреждением базы данных или перегруженностью сервера.

Первые шаги устранения ошибки установки соединения

Рассмотрим основные причины ошибки установки соединения с базой данных и способы их устранения.

Скачать файл

Прежде всего, настоятельно рекомендуем создать резервную копию всей важной информации и обновлять ее после каждого значимого изменения. Тогда вы гарантированно не потеряете данные. А в случае серьезной ошибки и восстановления базы данных, не столкнетесь с необходимостью создания сайта с нуля. Для создания резервной копии используются плагины Duplicator или All-in-One WP Migration.

Есть много программных модулей для резервного копирования, но они не смогут вам помочь при отсутствии доступа в админку.

В такой ситуации нужен плагин ISPmanager или другой модуль, который поможет, управляя хостингом, сделать полное резервное копирование сайта.

Первые шаги устранения ошибки установки соединения

Первые шаги устранения ошибки установки соединения

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

3 способа устранения ошибки установки соединения с БД

Проверка памяти сервера

Предположим, вы проверили учетные данные в фале wp-config.php и убедились в их корректности. Следующим шагом следует проверить сервер на наличие памяти. Довольно часто ошибка соединения возникает из-за перегруженности сервера. Если сервер хостинг-провайдера испытывает трудности, то и ваш сайт WordPress будет замедляться.

В первую очередь удостоверимся, что MySQL работает, и памяти для обработки данных WordPress достаточно.

Подключитесь к удаленному серверу через SSH, используя IP-адрес сервера:

ssh 8host@ <server IP>

Затем убедимся, работает ли MySQL с помощью утилиты netstat. Она позволяет отслеживать проблемы, связанные с производительностью сети. Чтобы увидеть список TCP-портов, которые прослушиваются, и имена программ, используйте команду:

sudo netstat -plt

где флаги –p, –l и –t означают program (программы), listening (прослушивание) и TCP соответственно.

В результате выполнения команды вы увидите список. Найдите в нем mysqld – это сервер MySQL:

Проверка памяти сервера

Проверка памяти сервера

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

sudo systemctl start mysql

Заметьте, что в некоторых версиях и дистрибутивах Linux используется mysqld или mysql-server, а не mysql. Попробуйте разные варианты, чтобы определить, какой из них применяется в вашей системе.

После выполнения этой команды сервер запустится. Проверьте это с помощью sudo netstat -plt, как описано ранее.

По какой причине сервер MySQL может завершить работу? Эта система очень эффективна и производительна, но не всегда стабильна. Если количество одновременно выполняемых задач велико, то она существенно замедляется. Чтобы минимизировать возможные проблемы, нужно следить за объемом доступной памяти.

pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2022

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ ресурсов об IT-сфере

Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT

pdf иконка

ТОП 50+ сервисов и приложений от Geekbrains

Безопасные и надежные программы для работы в наши дни

Уже скачали 18535
pdf иконка

Проверьте log-файлы и ищите в них сообщения об ошибках. Для поиска используйте команду zgrep:

zgrep -a «allocate memory» /var/log/mysql/error.log*

В результате выполнения данной команды вы увидите все log-файлы, содержащие error.log и ‘allocate memory’. Поиск будет выполняться по файлам в директории /var/log/mysql/.

На выводе вы можете увидеть подобную строку:

2017-04-11T17:38:22.604644Z 0 [ERROR] InnoDB: Cannot allocate memory for the buffer pool

Это значит, что для корректной работы MySQL не хватает памяти. Именно это и является причиной ошибки подключения к базе данных. Если вы видите не одну такую строку, а несколько, значит, проблема нехватки памяти регулярная. Решается она переносом данных на более мощный сервер. Если сайт размещен на облачном сервере, то хостинг-провайдер в большинстве случаев может обновить сервер быстро и с минимальным простоем.

Что такое база данных: принципы работы, лучшие СУБД

Читайте также

Если команда zgrep не выдала списка log-файлов, то сервер не испытывает проблем с нехваткой памяти. Значит проблемы установки соединения с базой данных может быть связана неверными учетными данными MySQL.

Проверка учётных данных MySQL

Если вы поменяли хостинг-провайдера или переместили установку WordPress на новый сервер, то информация в файле wp-config.php становится неактуальной. Вам необходимо поменять соответствующие строки в файле, иначе подключение к базе данных будет невозможно.

Чтобы найти этот файл используйте команду find:

sudo find / -name «wp-config.php»

Данная команда будет искать файл с указанным именем в корневой папке. Если он будет найден, то на выходе вы увидите путь к найденному файлу:

/var/www/html/wp-config.php

Чтобы открыть его в текстовом редакторе nano, напишите:

sudo nano /var/www/html/wp-config.php

В результате вы увидите файл с большим количеством строк. Первыми строками как раз и будут те, что описывают подключение к базе данных:

/** The name of the database for WordPress */

define(‘DB_NAME’, ‘database_name’);

/** MySQL database username */

define(‘DB_USER’, ‘database_username’);

/** MySQL database password */

define(‘DB_PASSWORD’, ‘database password’);

Проверка учётных данных MySQL

Проверка учётных данных MySQL

Вместо ‘database_name’, ‘database_username’ и ‘database_password’ должны быть указаны корректные данные о вашей БД. При необходимости отредактируйте их. На забудьте сохранить файл и выйти из редактора, нажатием CTRL-O, CTRL-X.

Чтобы убедиться, что проблема решена, попробуйте подключиться к базе данных. Для этого наберите команду:

mysqlshow -u database_username -p

Затем введите пароль. Если имя пользователя или пароль не верные, то вы увидите ошибку Access denied. В противном случае на экран будет выведена информация обо всех базах данных, к которым у вас есть доступ.

+———————+

|Databases |

+———————+

| information_schema |

| database_name |

+———————+

Если вы видите имя нужной базы данных в списке, то в файле wp-config.php указаны корректные данные. Теперь можно перезапустить WordPress сайт.

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

pdf иконка

Точный инструмент «Колесо компетенций»

Для детального самоанализа по выбору IT-профессии

pdf иконка

Список грубых ошибок в IT, из-за которых сразу увольняют

Об этом мало кто рассказывает, но это должен знать каждый

doc иконка

Мини-тест из 11 вопросов от нашего личного психолога

Вы сразу поймете, что в данный момент тормозит ваш успех

Регистрируйтесь на бесплатный интенсив, чтобы за 3 часа начать разбираться в IT лучше 90% новичков.

Только до 2 февраля

Осталось 17 мест

Восстановление базы данных WordPress

Случается, что база данных WordPress оказывается поврежденной. Причин, по которым такое происходит, может быть несколько:

  • неудачное обновление;
  • сбой базы данных;
  • некорректный плагин.

Непосредственно на сайте в таком случае вы все также увидите сообщение — «ошибка установки соединения с базой данных».

Попытаемся восстановить БД. Откройте файл wp-config.php с помощью текстового редактора:

sudo nano /var/www/html/wp-config.php

Вставьте в файл строку:

define(‘WP_ALLOW_REPAIR’, true);

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

Затем откройте браузер и перейдите по следующему URL:

http://www.example.com/wp-admin/maint/repair.php

Не забудьте заменить www.example.com на URL вашего сайта или укажите IP.

Тогда вы увидите следующее сообщение на экране:

WordPress can automatically look for some common database problems and repair them.

Выберите вариант Repair Database. В появившейся странице вы увидите процент проверенных и восстановленных данных.

После восстановления вернитесь к файлу wp-config.php. Удалите из него функцию, ответственную за восстановление базы данных. Это необходимо сделать из соображений безопасности, иначе доступ к восстановлению БД будет у всех.

Восстановление базы данных WordPress

Восстановление базы данных WordPress

Если после восстановления базы данных WordPress все еще выдает ошибку о проблеме соединения, восстановите базу данных из бэкапа (резервной копии).

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

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

Дополнительные методы устранения ошибки установки соединения с БД

Следующие способы устранения ошибки установки соединения с базой данных категорически не рекомендуется использовать начинающим администраторам WordPress! Переходите к ним только в том случае, если не помогли методы, описанные ранее. Не используйте их, если у вас нет валидной резервной копии вашего сайта!

Автоматизированная система базы данных: хранение и использование информации

Читайте также

  • Обновление настройки в wp_options

Некоторые пользователи отмечали, что ошибка была устранена после выполнения запроса к БД через phpMyAdmin:

[sql]UPDATE wp_options SET option_value=’ http://your_site.ru’ WHERE option_name=’siteurl’;[/sql]

Где вместо ’your_site.ru ‘укажите URL вашего сайта.

  • Подключение к базе данных с правами root

Если вы используете виртуальный сервер и можете воспользоваться root правами, то попробуйте подключиться к БД через файл test.php. В случае успеха, попробуйте также подключиться к БД вашего сайта через файл wp-config.php. Затем проверьте работу сайта.

Работать на сервере под учётной записью root – большая ошибка. Обязательно создайте нового пользователя через phpMyAdmin. Не забудьте внести в wp-config.php файл логин и пароль созданного пользователя.

Профилактика возникновения ошибки установки соединения с базой данных

Никто не застрахован от ошибки установки соединения с базой данных при работе с Вордпресс. Однако, вы можете минимизировать шанс остановки сайта, если будете следовать следующим рекомендациям:

  • Тщательно выбирайте хостинг-провайдера, который подходит именно для работы с CMS WordPress. Он должен иметь хорошую техподдержку, обеспечивать высокую скорость и стабильность. Зачастую проблемы в работе сайта связаны именно с хостингом.
  • Регулярно делайте бэкап. Вы можете самостоятельно выбрать один из плагинов, например, UpdraftPlus, Duplicator или All-in-One WP Migration.

К сожалению, если вы не имеете доступ в панель управления сайта, то вы не сможете воспользоваться резервной копией. Тогда вам нужно будет воспользоваться программным обеспечением для управления хостингом. Например, ISPmanager. Он позволит вам сделать полную резервную копию сайта.

Если вы не хотите самостоятельно делать бэкап, можете обратиться в техподдержку хостинг-провайдера. Они предложат вам программу для резервного копирования.

phpMyAdmin установка, настройка, проблемыPhpMyAdmin самое популярное web ориентированное управление базой данных MySQL. Незаменимый инструмент для всех, кто не дружит с языком команд MySQL сервера.

Для работы phpMyAdmin у вас должны уже стоять и работать

  • MySQL сервер
  • Http сервер с поддержкой php


1.Установка в Ubuntu
2.Установка из исходников
3.Решение проблем при установке phpMyAdmin

Установка в Ubuntu

Установку выполняем командой

sudo aptitude install phpmyadmin

Установщик спросит на какой http сервер ставим – я выбрал apache2, т.к. он уже стоял у меня. Далее скрипт установки попросил создать и сконфигурировать базу данных phpmyadmin – соглашаемся и вводим пользователя и пароль для управления этой базой данных.
После установки все конфиги хранятся в /etc/phpmyadmin. На всякий случай перезапускаем http сервер.

sudo /etc/init.d/apache2 restart

В браузере вводим http://localhost/phpmyadmin/ и авторизуемся от пользователей MySQL сервера.

Авторизация в phpMyAdmin

Авторизация в phpMyAdmin

Установка из исходников

Чтобы представлять что происходит при установке phpMyAdmin, я покажу действия, которые выполняют установочные скрипты многих дистрибутивов. К тому же способ установки из исходников универсален и подходит для всех Unix систем.
1. Скачиваем последнюю версию phpMyAdmin с официального сайта (на сегодняшний день последняя версия была 3.3.8).
2. Распаковываем скачанный архив в любую папку корневой директории нашего http сервера. Для условности пусть это будет папка phpmyadmin.
3. Находим в папке phpmyadmin/scripts файл create_tables.sql – это дамп таблицы phpmyadmin. Восстановим его командой от root или sudo


#mysql -u root -p < create_tables.sql

4. Заходим в консоль MySQL сервера и выставляем права на только что созданную базу данных phpmyadmin.


# mysql -u root -p
mysql> use phpmyadmin;
mysql> GRANT ALL ON phpmyadmin.* TO phpmyadmin@localhost IDENTIFIED BY 'your_password';
mysql> flush privileges;

5. Правим конфигурационный файл в корне папке phpmyadmin – config.sample.inc.php.
Переименовываем его в config.inc.php, выставляем владельцем файла того от кого работает сервер http (у меня это пользователь nobody) и выставляем права на файл 600 (эти действия выполняем от root или sudo)


#mv config.sample.inc.php config.inc.php
#chown nobody config.inc.php
#chmod 600 config.inc.php

В самом файле config.inc.php меняем значение строк – заносим пароль для авторизации через cookie и имя пользователя, пароль для восстановленной из дампа базы phpmyadmin.


$cfg['blowfish_secret'] = 'password';
/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'phpmyadmin';
$cfg['Servers'][$i]['controlpass'] = 'your_password';

а эти строки раскомментируем


/* Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';

Теперь можно набирать в браузере http://localhost/phpmyadmin/ и авторизовываться.

Решение проблем при установке phpMyAdmin

1. При открытии браузером phpMyAdmin не открывается, а предлагает скачать страницу.
Решение – настроить поддержку php на http сервере. В apache модуль php подключается в httpd.conf строками,


LoadModule php5_module        modules/libphp5.so

само собой php должен быть установлен 🙂 После изменения httpd.conf перезагрузить apache сервер

2. При попытки авторизоваться возникает ошибка:
#2002 Невозможно подключиться к серверу MySQL
Решение – проверьте запущен ли MySQL сервер через консоль командой


mysql -u user -p

Если пользователь нормально авторизуется, то проверьте права на файл mysql.sock. Права на файл должны быть 777.

3. После авторизации возникает ошибка:
Невозможно загрузить расширение mcrypt! Проверьте настройки PHP.
Решение – убедитесь что в вашей системе установлено приложение mcrypt и библиотека libmcrypt, а модуль php для http сервера был собран с переменной


--with-mcrypt

4. После авторизации возникает ошибка:
При работе с многобайтными кодировками без установленного расширения PHP “mbstring”, phpMyAdmin не в состоянии производить корректное разбиение строк, что может привести к непредсказуемым результатам. Установите расширение PHP “mbstring”.
Решение – пересобрать модуль php для http сервера с параметром


--enable-mbstring

или раскомментировать в php.ini строку


extension=mbstring.so

5. После авторизации в phpMyAdmin видим предупредение:
При cookie-аутентификации, в конфигурационном файле необходимо задать парольную фразу установив значение директивы $cfg[‘blowfish_secret’].
Решение – в файле конфигурации phpMyAdmin – config.inc.php задать пароль в строке


$cfg['blowfish_secret']

6. После авторизации в phpMyAdmin видим предупредение:
Дополнительные возможности для работы со связанными таблицами недоступны. Для определения причины нажмите здесь.
Решение – либо не установлена база данных phpMyAdmin, либо не раскомментированы строки для этой базы в файле config.inc.php. Как это делать смотрите пункты 3,4,5 из установка из исходников

Если у вас есть или были другие ошибки при установке, настройке то прошу отписываться в комментах, будем дополнять..

Похожие статьи:

I’m quite confused about an error while installing phpmyadmin on a Debian server with MySQL already installed and configured. I’ve already tried to purge the latest phpmyadmin failed installations, but I’m not being able to installing it.

I’ve also already searched for common questions as trying to fix phpmyadmin files as https://serverfault.com/questions/341116/setting-up-phpmyadmin-got-a-mysql-syntax-error but every timestamp call is correct without values ( timestamp(value) seems to be wrong).

If anyone could help me I’d be so grateful!

The error says:

An error occurred while installing the database: 

 │                                                                             
 │ mysql said: ERROR 1064 (42000) at line 1: 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 'IDENTIFIED BY                             
 │ 'hereismypassword'' at line 1 . Your options are:               
 │  * abort - Causes the operation to fail; you will need to downgrade,        
 │    reinstall, reconfigure this package, or otherwise manually intervene     
 │    to continue using it. This will usually also impact your ability to      
 │    install other packages until the installation failure is resolved.       
 │  * retry - Prompts once more with all the configuration questions           
 │    (including ones you may have missed due to the debconf priority          
 │    setting) and makes another attempt at performing the operation.          
 │  * retry (skip questions) - Immediately attempts the operation again,       
 │                                                                             
 │                                  <Ok>                               

asked Nov 10, 2018 at 11:01

Marcosaurios's user avatar

2

if you are using or upgrading to MySQL 8, the default Authentication Plugin is caching_sha2_password

Edit /etc/mysql/my.cnf or /etc/mysql/mysql.conf.d/mysqld.cnf

Add the following line under [mysqld]

default-authentication-plugin=mysql_native_password

Then restart mysql service and connect to your MySQL

service mysql restart 

mysql -u root -p

Then execute the following commands and replace ‘password’ with ‘your root password’

ALTER USER user IDENTIFIED WITH caching_sha2_password BY 'password';

FLUSH PRIVILEGES;

Source dev.mysql.com

answered Mar 29, 2020 at 22:29

Ahm3d Said's user avatar

Ahm3d SaidAhm3d Said

8029 silver badges20 bronze badges

i really struggled with this issue while setting up a server on Digital Ocean. I needed a server to Host a Laravel application. Basically i had to setup my server by installing Nginx using this Tutorial, then i installed MYSQL Version 8.0.22 using this Tutorial (basically the latest available version — Which usually leads to this error), then i installed PHP7.4 using this Tutorial of which also required me to check the DigitalOcean article to configure the php processor for Nginx using the same Tutorial i used to install Nginx.

At this point i wanted to install phpMyAdmin, and it failed with the same error, i read every article i could find on Digital Ocean, Stackoverflow and other forums and no solution worked. I found out i could download phpMyAdmin version 5.0.4 or greater (Basically the latest version) from the official website since it would be more compatible with the MYSQL Version 8.0.22. I followed this Tutorial exactly to install phpMyAdmin manually instead of automatically and everything worked perfectly! I was able to open the phpMyAdmin on the browser and even able to login using root and password. I created another user as indicated on the tutorial and was also able the login using that new user.

Really hope this helps someone having the same issue. In conclusion use this article to install phpMyAdmin manually: https://www.digitalocean.com/community/questions/how-to-install-manually-phpmyadmin-on-ubuntu

answered Nov 18, 2020 at 10:06

Julian Tabona's user avatar

Julian TabonaJulian Tabona

3251 gold badge3 silver badges13 bronze badges

Ok, I solved my problem by doing the following steps:

  1. Removing completely phpmyadmin and mysql:

    sudo remove phpmyadmin + sudo remove mysql

    sudo purge phpmyadmin + sudo purge mysql)

  2. Upgrading the dist: sudo apt-get dist-upgrade

  3. Reinstalling everything (phpmyadmin + mysql)

  4. Later I had other kind of issues related about users and passwords in phpmyadmin, but I’ve solved them with that query:

mysql -u root mysql

UPDATE user SET Password=PASSWORD('YOURNEWPASSWORD') WHERE User='root';

FLUSH PRIVILEGES;

exit;

Source: Can’t set root MySQL password to null

answered Nov 13, 2018 at 20:03

Marcosaurios's user avatar

2

В статье рассказывается:

  1. Суть и причины возникновения ошибки установки соединения с базой данных
  2. Первые шаги устранения ошибки установки соединения
  3. 3 способа устранения ошибки установки соединения с БД
  4. Дополнительные методы устранения ошибки установки соединения с БД
  5. Профилактика возникновения ошибки установки соединения с базой данных
  6. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.

    Бесплатно от Geekbrains

Ошибка установки соединения с базой данных — довольно частое явление на WordPress, которое может быть вызвано различными причинами. При первом появлении она может добавить седых волос владельцу сайта, ведь доступ к ресурсу будет невозможен, включая и его «админку», и при недостатке знаний ставит в тупик.

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

Суть и причины возникновения ошибки установки соединения с базой данных

Чтобы понять, что означает “Ошибка установки соединения с базой данных” (Error establishing a database connection) разберемся, как работает WordPress и выясним, что такое база данных.

WordPress – одна из самых популярных CMS – систем., т.е. систем управления контентом. Это программное обеспечение, позволяющее добавлять, удалять и редактировать содержание вашего сайта без знаний языков программирования. Вся информация о контенте хранится в базе данных.

База данных — это и есть совокупность информации, организованная так, чтобы при необходимости компьютер смог ее найти и обработать. Все сведения о вашем WordPress сайте хранится в базе данных на серверах вашего хостинг- провайдера. Любое действие на сайте приводит кому, что WordPress посылает запрос на нужную информацию в базу данных. Если запрос успешно обработан, то пользователь получает нужную информацию.

Суть и причины возникновения ошибки установки соединения с базой данных

Суть и причины возникновения ошибки установки соединения с базой данных

Одним из наиболее важных файлов в WordPress является wp-config.php файл. Он находится в корневой директории и содержит сведения о конфигурации вашего сайта, в том числе и информацию о подключении к базе данных. Важно, чтобы эта информация была прописана в строго определенном порядке:

  • Database Name — Имя базы данных
  • Database Username — Имя пользователя базы данных
  • Database Password — Пароль пользователя базы данных
  • Database Host — Сервер базы данных

Таким образом, в большинстве случаев “Ошибка установки соединения с базой данных” возникает, если информация, описанная выше, указана не верно. Кроме того, ошибка может быть вызвана повреждением базы данных или перегруженностью сервера.

Первые шаги устранения ошибки установки соединения

Рассмотрим основные причины ошибки установки соединения с базой данных и способы их устранения.

Скачать файл

Прежде всего, настоятельно рекомендуем создать резервную копию всей важной информации и обновлять ее после каждого значимого изменения. Тогда вы гарантированно не потеряете данные. А в случае серьезной ошибки и восстановления базы данных, не столкнетесь с необходимостью создания сайта с нуля. Для создания резервной копии используются плагины Duplicator или All-in-One WP Migration.

Есть много программных модулей для резервного копирования, но они не смогут вам помочь при отсутствии доступа в админку.

В такой ситуации нужен плагин ISPmanager или другой модуль, который поможет, управляя хостингом, сделать полное резервное копирование сайта.

Первые шаги устранения ошибки установки соединения

Первые шаги устранения ошибки установки соединения

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

3 способа устранения ошибки установки соединения с БД

Проверка памяти сервера

Предположим, вы проверили учетные данные в фале wp-config.php и убедились в их корректности. Следующим шагом следует проверить сервер на наличие памяти. Довольно часто ошибка соединения возникает из-за перегруженности сервера. Если сервер хостинг-провайдера испытывает трудности, то и ваш сайт WordPress будет замедляться.

В первую очередь удостоверимся, что MySQL работает, и памяти для обработки данных WordPress достаточно.

Подключитесь к удаленному серверу через SSH, используя IP-адрес сервера:

ssh 8host@ <server IP>

Затем убедимся, работает ли MySQL с помощью утилиты netstat. Она позволяет отслеживать проблемы, связанные с производительностью сети. Чтобы увидеть список TCP-портов, которые прослушиваются, и имена программ, используйте команду:

sudo netstat -plt

где флаги –p, –l и –t означают program (программы), listening (прослушивание) и TCP соответственно.

В результате выполнения команды вы увидите список. Найдите в нем mysqld – это сервер MySQL:

Проверка памяти сервера

Проверка памяти сервера

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

sudo systemctl start mysql

Заметьте, что в некоторых версиях и дистрибутивах Linux используется mysqld или mysql-server, а не mysql. Попробуйте разные варианты, чтобы определить, какой из них применяется в вашей системе.

После выполнения этой команды сервер запустится. Проверьте это с помощью sudo netstat -plt, как описано ранее.

По какой причине сервер MySQL может завершить работу? Эта система очень эффективна и производительна, но не всегда стабильна. Если количество одновременно выполняемых задач велико, то она существенно замедляется. Чтобы минимизировать возможные проблемы, нужно следить за объемом доступной памяти.

pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2022

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ ресурсов об IT-сфере

Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT

pdf иконка

ТОП 50+ сервисов и приложений от Geekbrains

Безопасные и надежные программы для работы в наши дни

Уже скачали 18535
pdf иконка

Проверьте log-файлы и ищите в них сообщения об ошибках. Для поиска используйте команду zgrep:

zgrep -a «allocate memory» /var/log/mysql/error.log*

В результате выполнения данной команды вы увидите все log-файлы, содержащие error.log и ‘allocate memory’. Поиск будет выполняться по файлам в директории /var/log/mysql/.

На выводе вы можете увидеть подобную строку:

2017-04-11T17:38:22.604644Z 0 [ERROR] InnoDB: Cannot allocate memory for the buffer pool

Это значит, что для корректной работы MySQL не хватает памяти. Именно это и является причиной ошибки подключения к базе данных. Если вы видите не одну такую строку, а несколько, значит, проблема нехватки памяти регулярная. Решается она переносом данных на более мощный сервер. Если сайт размещен на облачном сервере, то хостинг-провайдер в большинстве случаев может обновить сервер быстро и с минимальным простоем.

Что такое база данных: принципы работы, лучшие СУБД

Читайте также

Если команда zgrep не выдала списка log-файлов, то сервер не испытывает проблем с нехваткой памяти. Значит проблемы установки соединения с базой данных может быть связана неверными учетными данными MySQL.

Проверка учётных данных MySQL

Если вы поменяли хостинг-провайдера или переместили установку WordPress на новый сервер, то информация в файле wp-config.php становится неактуальной. Вам необходимо поменять соответствующие строки в файле, иначе подключение к базе данных будет невозможно.

Чтобы найти этот файл используйте команду find:

sudo find / -name «wp-config.php»

Данная команда будет искать файл с указанным именем в корневой папке. Если он будет найден, то на выходе вы увидите путь к найденному файлу:

/var/www/html/wp-config.php

Чтобы открыть его в текстовом редакторе nano, напишите:

sudo nano /var/www/html/wp-config.php

В результате вы увидите файл с большим количеством строк. Первыми строками как раз и будут те, что описывают подключение к базе данных:

/** The name of the database for WordPress */

define(‘DB_NAME’, ‘database_name’);

/** MySQL database username */

define(‘DB_USER’, ‘database_username’);

/** MySQL database password */

define(‘DB_PASSWORD’, ‘database password’);

Проверка учётных данных MySQL

Проверка учётных данных MySQL

Вместо ‘database_name’, ‘database_username’ и ‘database_password’ должны быть указаны корректные данные о вашей БД. При необходимости отредактируйте их. На забудьте сохранить файл и выйти из редактора, нажатием CTRL-O, CTRL-X.

Чтобы убедиться, что проблема решена, попробуйте подключиться к базе данных. Для этого наберите команду:

mysqlshow -u database_username -p

Затем введите пароль. Если имя пользователя или пароль не верные, то вы увидите ошибку Access denied. В противном случае на экран будет выведена информация обо всех базах данных, к которым у вас есть доступ.

+———————+

|Databases |

+———————+

| information_schema |

| database_name |

+———————+

Если вы видите имя нужной базы данных в списке, то в файле wp-config.php указаны корректные данные. Теперь можно перезапустить WordPress сайт.

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

pdf иконка

Точный инструмент «Колесо компетенций»

Для детального самоанализа по выбору IT-профессии

pdf иконка

Список грубых ошибок в IT, из-за которых сразу увольняют

Об этом мало кто рассказывает, но это должен знать каждый

doc иконка

Мини-тест из 11 вопросов от нашего личного психолога

Вы сразу поймете, что в данный момент тормозит ваш успех

Регистрируйтесь на бесплатный интенсив, чтобы за 3 часа начать разбираться в IT лучше 90% новичков.

Только до 2 февраля

Осталось 17 мест

Восстановление базы данных WordPress

Случается, что база данных WordPress оказывается поврежденной. Причин, по которым такое происходит, может быть несколько:

  • неудачное обновление;
  • сбой базы данных;
  • некорректный плагин.

Непосредственно на сайте в таком случае вы все также увидите сообщение — «ошибка установки соединения с базой данных».

Попытаемся восстановить БД. Откройте файл wp-config.php с помощью текстового редактора:

sudo nano /var/www/html/wp-config.php

Вставьте в файл строку:

define(‘WP_ALLOW_REPAIR’, true);

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

Затем откройте браузер и перейдите по следующему URL:

http://www.example.com/wp-admin/maint/repair.php

Не забудьте заменить www.example.com на URL вашего сайта или укажите IP.

Тогда вы увидите следующее сообщение на экране:

WordPress can automatically look for some common database problems and repair them.

Выберите вариант Repair Database. В появившейся странице вы увидите процент проверенных и восстановленных данных.

После восстановления вернитесь к файлу wp-config.php. Удалите из него функцию, ответственную за восстановление базы данных. Это необходимо сделать из соображений безопасности, иначе доступ к восстановлению БД будет у всех.

Восстановление базы данных WordPress

Восстановление базы данных WordPress

Если после восстановления базы данных WordPress все еще выдает ошибку о проблеме соединения, восстановите базу данных из бэкапа (резервной копии).

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

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

Дополнительные методы устранения ошибки установки соединения с БД

Следующие способы устранения ошибки установки соединения с базой данных категорически не рекомендуется использовать начинающим администраторам WordPress! Переходите к ним только в том случае, если не помогли методы, описанные ранее. Не используйте их, если у вас нет валидной резервной копии вашего сайта!

Автоматизированная система базы данных: хранение и использование информации

Читайте также

  • Обновление настройки в wp_options

Некоторые пользователи отмечали, что ошибка была устранена после выполнения запроса к БД через phpMyAdmin:

[sql]UPDATE wp_options SET option_value=’ http://your_site.ru’ WHERE option_name=’siteurl’;[/sql]

Где вместо ’your_site.ru ‘укажите URL вашего сайта.

  • Подключение к базе данных с правами root

Если вы используете виртуальный сервер и можете воспользоваться root правами, то попробуйте подключиться к БД через файл test.php. В случае успеха, попробуйте также подключиться к БД вашего сайта через файл wp-config.php. Затем проверьте работу сайта.

Работать на сервере под учётной записью root – большая ошибка. Обязательно создайте нового пользователя через phpMyAdmin. Не забудьте внести в wp-config.php файл логин и пароль созданного пользователя.

Профилактика возникновения ошибки установки соединения с базой данных

Никто не застрахован от ошибки установки соединения с базой данных при работе с Вордпресс. Однако, вы можете минимизировать шанс остановки сайта, если будете следовать следующим рекомендациям:

  • Тщательно выбирайте хостинг-провайдера, который подходит именно для работы с CMS WordPress. Он должен иметь хорошую техподдержку, обеспечивать высокую скорость и стабильность. Зачастую проблемы в работе сайта связаны именно с хостингом.
  • Регулярно делайте бэкап. Вы можете самостоятельно выбрать один из плагинов, например, UpdraftPlus, Duplicator или All-in-One WP Migration.

К сожалению, если вы не имеете доступ в панель управления сайта, то вы не сможете воспользоваться резервной копией. Тогда вам нужно будет воспользоваться программным обеспечением для управления хостингом. Например, ISPmanager. Он позволит вам сделать полную резервную копию сайта.

Если вы не хотите самостоятельно делать бэкап, можете обратиться в техподдержку хостинг-провайдера. Они предложат вам программу для резервного копирования.

Невозможность загрузки (импорта файла базы данных) в phpMyAdmin в панели управления Vesta (CentOS). Сообщение о превышении максимально-допустимого к загрузке размера файла (upload_max_filesize).

Панель управления сайтами Vesta мне понравилась с первого раза. Бесплатная и ничего лишнего, очень минималистично и при этом функционально. Однако уже не первая ошибка в «Весте», которая заставила меня поломать голову. На этот раз проблема касалась upload_max_filesize. Значения никак не хотели меняться. Но давайте по порядку:

Если значения upload_max_filesize поддаются изменению

Ошибка в базе данных на английском:

You probably tried to upload a file that is too large. Please refer to documentation for a workaround for this limit.

Для исправления надо перейти во вкладку Server. Дальше навести мышку на httpd, выбрать CONFIGURE. Перейти во вкладку HTTPD CONFIGURE PHP.INI.

И здесь поменять значение upload_max_filesize.

Если значения upload_max_filesize не изменяются

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

vesta_php-ini
Изменение в его значениях ни к чему не приводили.

Пришлось менять всё вручную. Сначала я нашел все файлы php.ini у себя на сервере:

Было не мало файлов:

/tmp/tmp.sfsdf48wmWo4vX/vesta/src/rpm/conf/php.ini
/etc/php70/php.ini
/etc/php71/php.ini
/etc/php.ini
/etc/php52/php.ini
/etc/php54/php.ini
/etc/php55/php.ini
/etc/php56/php.ini
/etc/php53/php.ini

Из них данные были только в файлах /etc/php.ini и в /tmp/. Остальные оказались пустыми. В поисках решения я даже удалил все файлы и тоже ничего не изменилось.

Решение как изменить значение upload_max_filesize в панели Vesta (CentOS) я всё-таки обнаружил. Значения хоть и изменились, но MySQL по-прежнему не хотел импортировать файл в 3 мб, ругаясь на размер файла.

Как изменить upload_max_filesize в файле php.ini панели управления Vesta (CentOS)

Создаем файл на сервере:

Заходим в него через адресную строку браузера:

https://ploshadka.net/info.php

Находим строчку:

Смотрим значение справа (у меня это было):

Значит сервер использует конфигурацию PHP по адресу — /etc/php56/php.ini

Копируем в этот файл конфигурацию по-умолчанию:

cp /etc/php.ini /etc/php56/php.ini

Правим сам файл /etc/php56/php.ini, изменяем значение upload_max_filesize на 30М.

Перезагружаем сервер

Теперь в файле info.php отображается правильный upload_max_filesize.

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

Импорт базы данных MySQL через SSH

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

Кладем файл в любую папку на сервере. При этом файл базы данных должен быть разархивированным. Затем воспользуемся командой:

mysql -u username -p database name < /path_to_MySQL_upload/name.sql

После ввода этой команды появится требование ввести пароль от базы данных. Вводим пароль и база будет импортирована.

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

/home/admin/web/sait/public_html/

phpMyAdmin установка, настройка, проблемыPhpMyAdmin самое популярное web ориентированное управление базой данных MySQL. Незаменимый инструмент для всех, кто не дружит с языком команд MySQL сервера.

Для работы phpMyAdmin у вас должны уже стоять и работать

  • MySQL сервер
  • Http сервер с поддержкой php


1.Установка в Ubuntu
2.Установка из исходников
3.Решение проблем при установке phpMyAdmin

Установка в Ubuntu

Установку выполняем командой

sudo aptitude install phpmyadmin

Установщик спросит на какой http сервер ставим – я выбрал apache2, т.к. он уже стоял у меня. Далее скрипт установки попросил создать и сконфигурировать базу данных phpmyadmin – соглашаемся и вводим пользователя и пароль для управления этой базой данных.
После установки все конфиги хранятся в /etc/phpmyadmin. На всякий случай перезапускаем http сервер.

sudo /etc/init.d/apache2 restart

В браузере вводим http://localhost/phpmyadmin/ и авторизуемся от пользователей MySQL сервера.

Авторизация в phpMyAdmin

Авторизация в phpMyAdmin

Установка из исходников

Чтобы представлять что происходит при установке phpMyAdmin, я покажу действия, которые выполняют установочные скрипты многих дистрибутивов. К тому же способ установки из исходников универсален и подходит для всех Unix систем.
1. Скачиваем последнюю версию phpMyAdmin с официального сайта (на сегодняшний день последняя версия была 3.3.8).
2. Распаковываем скачанный архив в любую папку корневой директории нашего http сервера. Для условности пусть это будет папка phpmyadmin.
3. Находим в папке phpmyadmin/scripts файл create_tables.sql – это дамп таблицы phpmyadmin. Восстановим его командой от root или sudo


#mysql -u root -p < create_tables.sql

4. Заходим в консоль MySQL сервера и выставляем права на только что созданную базу данных phpmyadmin.


# mysql -u root -p
mysql> use phpmyadmin;
mysql> GRANT ALL ON phpmyadmin.* TO phpmyadmin@localhost IDENTIFIED BY 'your_password';
mysql> flush privileges;

5. Правим конфигурационный файл в корне папке phpmyadmin – config.sample.inc.php.
Переименовываем его в config.inc.php, выставляем владельцем файла того от кого работает сервер http (у меня это пользователь nobody) и выставляем права на файл 600 (эти действия выполняем от root или sudo)


#mv config.sample.inc.php config.inc.php
#chown nobody config.inc.php
#chmod 600 config.inc.php

В самом файле config.inc.php меняем значение строк – заносим пароль для авторизации через cookie и имя пользователя, пароль для восстановленной из дампа базы phpmyadmin.


$cfg['blowfish_secret'] = 'password';
/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'phpmyadmin';
$cfg['Servers'][$i]['controlpass'] = 'your_password';

а эти строки раскомментируем


/* Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';

Теперь можно набирать в браузере http://localhost/phpmyadmin/ и авторизовываться.

Решение проблем при установке phpMyAdmin

1. При открытии браузером phpMyAdmin не открывается, а предлагает скачать страницу.
Решение – настроить поддержку php на http сервере. В apache модуль php подключается в httpd.conf строками,


LoadModule php5_module        modules/libphp5.so

само собой php должен быть установлен 🙂 После изменения httpd.conf перезагрузить apache сервер

2. При попытки авторизоваться возникает ошибка:
#2002 Невозможно подключиться к серверу MySQL
Решение – проверьте запущен ли MySQL сервер через консоль командой


mysql -u user -p

Если пользователь нормально авторизуется, то проверьте права на файл mysql.sock. Права на файл должны быть 777.

3. После авторизации возникает ошибка:
Невозможно загрузить расширение mcrypt! Проверьте настройки PHP.
Решение – убедитесь что в вашей системе установлено приложение mcrypt и библиотека libmcrypt, а модуль php для http сервера был собран с переменной


--with-mcrypt

4. После авторизации возникает ошибка:
При работе с многобайтными кодировками без установленного расширения PHP “mbstring”, phpMyAdmin не в состоянии производить корректное разбиение строк, что может привести к непредсказуемым результатам. Установите расширение PHP “mbstring”.
Решение – пересобрать модуль php для http сервера с параметром


--enable-mbstring

или раскомментировать в php.ini строку


extension=mbstring.so

5. После авторизации в phpMyAdmin видим предупредение:
При cookie-аутентификации, в конфигурационном файле необходимо задать парольную фразу установив значение директивы $cfg[‘blowfish_secret’].
Решение – в файле конфигурации phpMyAdmin – config.inc.php задать пароль в строке


$cfg['blowfish_secret']

6. После авторизации в phpMyAdmin видим предупредение:
Дополнительные возможности для работы со связанными таблицами недоступны. Для определения причины нажмите здесь.
Решение – либо не установлена база данных phpMyAdmin, либо не раскомментированы строки для этой базы в файле config.inc.php. Как это делать смотрите пункты 3,4,5 из установка из исходников

Если у вас есть или были другие ошибки при установке, настройке то прошу отписываться в комментах, будем дополнять..

Похожие статьи:

Добрый вечер. Никак не мог попасть в phpmyadmin (локальный сервер, ubuntu 12.04), вроде пароль не подходил. Поменял пароль такими действиями:

Останавливаем MySQL:
/etc/init.d/mysql stop

Запускаем в режиме без проверки прав доступа:
/usr/sbin/mysqld —skip-grant-tables &

Соединяемся как root без пароля:
mysql

Выбираем активную БД:
use mysql;

Обновляем пароль:
mysql> update user set Password=PASSWORD(‘новый пароль’) WHERE User=’root’;
mysql> flush privileges;

Завершаем работу mysqld:
fg
«Ctrl+c»

Запускаем MySQL в обычном режиме.
/etc/init.d/mysql start

После этого попал в phpmyadmin но дальше были проблемы с привилегиями, а mysql вел себя странно, не давая себя остановить или перезапустить. Решил я переставить, удалил с помощью aptitude purge mysql-server и phpmyadmin, поставить mysql-server, а вот с phpmyadmin теперь загвоздка, пишет при установке что:

При установке базы данных произошла ошибка:

│ mysql said: ERROR 1290 (HY000) at line 1: The MySQL server is running with the
│ —skip-grant-tables option so it cannot execute this statement

Как я понял, проблема в том, что mysql сервер запущен в том самом режиме без проверки прав доступа?
Как же я его удалил и установил заново? Но суть не в этом, а в том что гугл как то не помогает решить эту проблему. Можете помочь?

Ошибка отображается в виде скриншота, нажав на ссылку:
Окно ошибки

Что я могу сделать?

Ошибка в тексте:

Произошла ошибка при установке базы данных:
mysql сказал: mysql: [Предупреждение] mysql: указано пустое значение для порта. В следующих версиях появится ошибка ERROR 1819 (HY000) в строке 1: Ваш пароль не соответствует требованиям текущей политики. Ваши варианты:
* abort — вызывает сбой операции; вам нужно будет понизить версию, переустановить, перенастроить этот пакет или иным образом вмешаться вручную, чтобы продолжить его использование. Обычно это также влияет на вашу способность устанавливать другие пакеты, пока сбой установки не будет решен. * retry — еще раз запрашивает все вопросы о конфигурации (включая те, которые вы, возможно, пропустили из-за настройки приоритета debconf) и делает еще одну попытку выполнить операцию. * Повторить (пропустить вопросы) — немедленно повторяет попытку операции, пропуская все вопросы. Обычно это полезно, только если вы решили основную проблему с момента возникновения ошибки. * ignore — продолжает операцию, игнорируя распространенные ошибки dbconfig. Это обычно оставляет этот пакет без функциональной базы данных. Следующий шаг для установки базы данных:

1

Решение

Ваш пароль не соответствует требованиям текущей политики — возможно, он слишком слабый.
попробуй это:
sudo apt-get удалить —purge phpmyadmin php-mbstring php-gettext && sudo apt-get установить phpmyadmin php-mbstring php-gettext

затем: при повторном запросе пароля выберите пароль со специальным символом, верхним и нижним символами и цифрами.

Надеюсь, поможет

1

Другие решения

Других решений пока нет …

Понравилась статья? Поделить с друзьями:

Интересное по теме:

  • При установке астра линукс выдает ошибку
  • При установке ведьмака выдает ошибку msvcp120 dll
  • При установке архикад выдает ошибку
  • При установке вацап ошибка
  • При установке арк пишет синтаксическая ошибка

  • Добавить комментарий

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: