Не удалось запустить сервер базы данных MariaDB после обновления до debian 9

Хотя этот вопрос помечен как awk , я хотел бы добавить простое решение, которое не использует awk :

seq 100 | xargs -n1 -I{} echo "1 2 3"

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

seq 100 | xargs -n1 -I{} cat filename

Другое решение может использовать команду yes , которая просто повторяет свои аргументы:

yes "1 2 3" | head -n100
3
05.07.2017, 21:13
3 ответа

В руководстве вы должны установить сервер mariadb -вместо сервера mysql -. У меня такая же проблема при установке DEBIAN 9, и эта команда мне помогла:

sudo apt purge mysql*
sudo apt purge mariadb*
sudo apt autoremove
sudo apt autoclean

Проверить, есть ли еще что-то в системе:

dpkg -l | grep -e mysql -e mariadb 

если список пуст, установите сервер mariadb:

sudo apt install mariadb-server

Теперь попробуйте проверить статус при остановке и запуске базы данных:

Статус после установки:

sudo systemctl status mysql.service
● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-03-21 16:08:49 CET; 2min 1s ago
 Main PID: 15699 (mysqld)
   Status: "Taking your SQL requests now..."
   CGroup: /system.slice/mariadb.service
           └─15699 /usr/sbin/mysqld

.../..

Проверьте ПИД:

sudo more /var/run/mysqld/mysqld.pid 
15699

Остановить базу данных:

sudo systemctl stop mysql.service
sudo systemctl status mysql.service
● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Wed 2018-03-21 16:14:35 CET; 1s ago
 Main PID: 15699 (code=exited, status=0/SUCCESS)
   Status: "MariaDB server is down"

.../...

Вы также можете проверить отсутствие файла PID

sudo more /var/run/mysqld/mysqld.pid 
more: stat on /var/run/mysqld/mysqld.pid: No file or folder

Запустить базу данных:

sudo systemctl start mysql.service
sudo systemctl status mysql.service
● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-03-21 16:14:54 CET; 3s ago
  Process: 15911 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 15908 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
  Process: 15791 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_S
  Process: 15787 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 15784 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 15881 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 26 (limit: 4915)
   CGroup: /system.slice/mariadb.service
           └─15881 /usr/sbin/mysqld

Вы можете проверить файл PID, он должен присутствовать. Может помочь на пустой базе данных. Если есть что-то в базе данных, вы должны сначала сделать резервную копию.

8
27.01.2020, 21:15

попробуй

apt dist-upgrade

или

apt install aptitude
aptitude install mariadb-server

aptitude имеет очень мощный преобразователь зависимостей

0
27.01.2020, 21:15

Я сделал то же, что и dubis, и это сработало (кстати, спасибо ), я просто хочу добавить кое-что для тех, кто использует zsh. При выполнении команд с " *" используйте "\" перед звездочкой, чтобы избежать подстановочного знака. Например:

sudo apt очистить mysql *sudo apt purge mariadb*

0
27.01.2020, 21:15

Теги

Похожие вопросы