Меню

Ошибка подключения базы данных модуля arch

#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
ILoveCandy
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/
#HookDir     = /etc/pacman.d/hooks/
HoldPkg     = pacman glibc
#XferCommand = /usr/bin/curl -L -C — -f -o %o %u
#XferCommand = /usr/bin/wget —passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto

# Pacman won’t upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
#Color
#NoProgressBar
CheckSpace
#VerbosePkgLists
#ParallelDownloads = 5

# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required

# NOTE: You must run `pacman-key —init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux
# packagers with `pacman-key —populate archlinux`.

#
# REPOSITORIES
#   — can be defined here or included from another file
#   — pacman will search repositories in the order defined here
#   — local/custom mirrors can be added here or in separate files
#   — repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   — URLs will have $repo replaced by the name of the current repo
#   — URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial — it must be present and
# uncommented to enable the repo.
#

# The testing repositories are disabled by default. To enable, uncomment the
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.

[testing]
#Include = /etc/pacman.d/mirrorlist

[core]
Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

[community-testing]
#Include = /etc/pacman.d/mirrorlist

[community]
Include = /etc/pacman.d/mirrorlist

# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.

[multilib-testing]
#Include = /etc/pacman.d/mirrorlist

[multilib]
Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs

I am a noob on an i5 desktop. I could not update my system. Terminal reads as follows, after I type and enter «sudo pacman -Syu»

[sudo] password for user-name: ********
:: Synchronizing package databases...
error: failed to update core (unable to lock database)
error: failed to update extra (unable to lock database)
error: failed to update community (unable to lock database)
error: failed to update multilib (unable to lock database)
error: failed to synchronize all databases

Help!!

asked Mar 2, 2020 at 6:08

Thế Huynh Phạm's user avatar

Thế Huynh PhạmThế Huynh Phạm

4611 gold badge4 silver badges11 bronze badges

If you’ve already deleted /var/lib/pacman/db.lck, like OP posted, and still got the same problem, try this:

sudo rm /var/tmp/pamac/dbs/db.lck

answered Nov 16, 2022 at 4:44

his dudeness's user avatar

This can be solved by quitting Software Update program from task manager.
This worked for me.

answered Feb 16, 2021 at 17:32

TECH VINEYY's user avatar

I am a noob on an i5 desktop. I could not update my system. Terminal reads as follows, after I type and enter «sudo pacman -Syu»

[sudo] password for user-name: ********
:: Synchronizing package databases...
error: failed to update core (unable to lock database)
error: failed to update extra (unable to lock database)
error: failed to update community (unable to lock database)
error: failed to update multilib (unable to lock database)
error: failed to synchronize all databases

Help!!

asked Mar 2, 2020 at 6:08

Thế Huynh Phạm's user avatar

Thế Huynh PhạmThế Huynh Phạm

4611 gold badge4 silver badges11 bronze badges

If you’ve already deleted /var/lib/pacman/db.lck, like OP posted, and still got the same problem, try this:

sudo rm /var/tmp/pamac/dbs/db.lck

answered Nov 16, 2022 at 4:44

his dudeness's user avatar

This can be solved by quitting Software Update program from task manager.
This worked for me.

answered Feb 16, 2021 at 17:32

TECH VINEYY's user avatar

8 комментариев

avatar

  • dr-helper
  • 15 мая 2022, 19:15

Да, уже несколько дней такая картина. С учетом того, что файл и данный адрес доступен только через vpn, можно делать вывод что он попал под блокировку в данном регионе. Ни на что не намекаю, но все же не приятно…

avatar

  • Riko_crimea
  • 16 мая 2022, 20:39

Да, через VPN работает (обновляет пакеты), а без — ни в какую. Симферополь, РФ.
Я надеялся, что хоть открытое ПО не будет подвергаться этим блокировкам, перешел на Linux, а оно вон как…

avatar

  • dr-helper
  • 15 мая 2022, 21:23

Пока решилось так: обновил зеркала для своего региона, далее в терминале: sudo pacman -Rs $(pacman -Qdtq) и pamac update. Теперь все устанавливается. Правда у меня KDE, но и в Gnome должно сработать.

avatar

  • kart12
  • 16 мая 2022, 21:22

СПб, Екб. Такая проблема с конца апреля. Проявляется не всегда.
Через терминал и yay проблем с установкой нет.

avatar

  • zavr
  • 22 мая 2022, 12:36

avatar

  • BorisGubanov
  • 9 июня 2022, 13:27

Здравствуйте,
Информируем Вас, что доступ к указанному Интернет-ресурсу в рамках исполнения требований статьи 15.1 Федерального закона от 27.07.2006 года № 149-ФЗ «Об информации, информационных технологиях и защите информации», не ограничивается.

Консультант горячей линии по вопросам
реализации статьи 15.1 Федерального закона
«Об информации, информационных
технологиях и о защите информации»

Это мне ответили на горячей линии. Но то, что обновляется только с VPN — факт

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

15 мая, 2017 11:51 дп
25 768 views
| 1 комментарий

MariaDB, mySQL

WordPress – одна из популярнейших открытых систем управления контентом. Изначально платформа WordPress разрабатывалась для блогов, однако со временем она стала более гибкой и производительной, и теперь подходит для обслуживания практически любого сайта. WordPress разрабатывается почти 15 лет; сегодня это очень надёжная и ошибкоустойчивая система, однако и в ней иногда случаются сбои и ошибки.

Ошибка установки соединения с базой данных (Error Establishing Database Connection) – одна из самых распространённых ошибок WordPress. Обычно её вызывает:

  • Сбой БД (чаще всего из-за нехватки памяти).
  • Неправильные учётные данные БД в настройках WordPress.
  • Нарушение таблиц базы данных WordPress.

В этом руководстве вы узнаете, как определить причину ошибки установки соединения с БД и исправить её.

Требования

  • Машина с предустановленной платформой WordPress.
  • Доступ к sudo.
  • База данных должна быть запущена на одной машине с WordPress.
  • Учётные данные БД: имя пользователя, пароль и имя базы данных для WordPress. Эта информация была создана во время начальной настройки WordPress.

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

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

Подключитесь к серверу по SSH:

ssh 8host@your_server_ip

Примечание: Если вы уверены, что правильно указали учётные данные, но у вас по-прежнему возникают проблемы при входе в систему, возможно, на сервере не хватает памяти или он не справляется с большой нагрузкой. Это случается из-за неожиданного роста трафика, и этим можно объяснить ошибку WordPress. Попробуйте перезагрузить сервер и подключиться снова.

Подключившись к серверу, убедитесь, что MySQL работает:

sudo netstat -plt

Команда netstat выводит информацию о сетевой системе сервера. Приведённая выше команда выведет имена программ, которые прослушивают соединения на сокете tcp (флаги –p, –l и –t соответственно). В выводе найдите mysqld:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 localhost:mysql         *:*                     LISTEN      1958/mysqld
tcp        0      0 *:ssh                   *:*                     LISTEN      2205/sshd
tcp        0      0 localhost:smtp          *:*                     LISTEN      2361/master
tcp6       0      0 [::]:http               [::]:*                  LISTEN      16091/apache2
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      2205/sshd
tcp6       0      0 ip6-localhost:smtp      [::]:*                  LISTEN      2361/master

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

sudo systemctl start mysql

Примечание: В некоторых дистрибутивах Linux (например, в CentOS) используется mysqld вместо mysql.

Сервер MySQL должен запуститься. Чтобы убедиться в этом, снова запустите netstat и найдите в выводе строку mysqld.

Для корректной работы MySQL и WordPress нужно довольно много памяти. Сервер MySQL может прекратить работу из-за нехватки памяти. Чтобы убедиться, что ошибка произошла по этой причине, проверьте логи ошибок MySQL.

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

Команда zgrep выполнит поиск по логам, включая более старые логи в архиве с расширением .tar.gz. Команда будет искать в логах error.log* из каталога /var/log/mysql/ все строки с пометкой allocate memory.

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

Если вы видите на экране такую строку (или несколько таких строк), значит, причина ошибки подключения к БД в нехватке памяти для работы MySQL. Возможно, это произошло из-за резкого роста трафика. Если в выводе много таких строк, значит, сервер сталкивается с нехваткой памяти регулярно. В таком случае рекомендуется переместить ресурс на сервер с большим объёмом памяти. Большинство провайдеров облачного хостинга позволяют просто обновить свой сервер с минимальным временем простоя.

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

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

Если вы недавно переместили установку WordPress на новый сервер (или сменили хостинг-провайдера), вам нужно обновить информацию о БД в настройках WordPress. Они хранятся в PHP-файле wp-config.php.

Найдите этот файл:

sudo find / -name "wp-config.php"

Команда выполнит поиск в root-каталоге и найдёт все файлы wp-config.php. Если такой файл существует, команда выведет путь к нему:

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

Откройте его в текстовом редакторе:

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');

Убедитесь, что эти три переменные содержат правильные данные. Если здесь указаны неправильные значения, откорректируйте их, а затем сохраните и закройте файл (CTRL-O, CTRL-X). Даже если теперь в файле указана валидная информация о БД, стоит попробовать подключиться к базе данных из командной строки, чтобы убедиться, что ошибка исчезла. Скопируйте из конфигурационного файла и вставьте данные в следующую команду:

mysqlshow -u database_username -p

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

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

+--------------------+
|     Databases      |
+--------------------+
| information_schema |
| database_name      |
+--------------------+

Убедитесь, что в этом списке есть БД, указанная в конфигурации WordPress. Перезапустите сайт и убедитесь, что ошибка подключения к БД исчезла.

Если исправить ошибку не удалось, попробуйте восстановить БД.

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

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

WordPress предоставляет встроенную утилиту для восстановления БД. По умолчанию она отключена (поскольку к ней нельзя ограничить доступ, а значит, она представляет угрозу безопасности сервера).

Откройте wp-config.php.

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

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

define('WP_ALLOW_REPAIR', true);

Эта строка включает функцию восстановления БД.

Сохраните и закройте файл.

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

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

Примечание: Вместо www.example.com укажите свой домен или IP.

На экране появится страница восстановления базы данных:

WordPress can automatically look for some common database problems and repair them. Repairing can take a while, so please be patient. […]

Нажмите кнопку Repair Database. На экране появится страница с результатами, где вы сможете отслеживать проверку и исправления в реальном времени.

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

Проверьте работу сайта. Если WordPress обнаружил в БД ошибки, которые не удалось исправить, попробуйте восстановить БД из резервной копии.

Читайте также: Импорт и экспорт баз данных MySQL и MariaDB

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

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

Часто источником повышенного трафика (а также низкой производительности и ошибок) являются brute-force атаки. Чтобы узнать, как смягчить атаки WordPress, читайте статью Защита WordPress от взлома XML-RPC в Ubuntu 14.04.

Чтобы сэкономить ресурсы сервера, настройте кэширование WordPress. Полезные инструкции вы найдёте в руководстве Настройка кэширования Redis для ускорения WordPress.

Tags: MySQL, WordPress

Я новичок на рабочем столе i5. Я не смог обновить свою систему. Терминал выглядит следующим образом после того, как я наберу и ввожу «sudo pacman -Syu».

[sudo] password for user-name: ********
:: Synchronizing package databases...
error: failed to update core (unable to lock database)
error: failed to update extra (unable to lock database)
error: failed to update community (unable to lock database)
error: failed to update multilib (unable to lock database)
error: failed to synchronize all databases

Помогите!!

2 ответа

Лучший ответ

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


0

TECH VINEYY
16 Фев 2021 в 20:32

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка подключения античита vanguard
  • Ошибка подключения к серверу sphinx ошибка подключения connection refused