Не удалить mysql-сервер на ubuntu 12.04.5 TLS

Я пытаюсь переустановить mysql-server-5.6, но я не могу сделать anyhing, каждый раз у меня есть это странное сообщение:

root@ps****:/home/nikitasorokin# apt-get remove --purge mysql-server-5.6
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  mysql-client-core-5.6
Use 'apt-get autoremove' to remove it.
The following packages will be REMOVED:
  mysql-server-5.6*
0 upgraded, 0 newly installed, 1 to remove and 941 not upgraded.
1 not fully installed or removed.
After this operation, 52.5 MB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 122623 files and directories currently installed.)
Removing mysql-server-5.6 (5.6.25-0ubuntu1) ...
stop: Unknown instance: 
invoke-rc.d: initscript mysql, action "stop" failed.
dpkg: error processing package mysql-server-5.6 (--purge):
 subprocess installed pre-removal script returned error exit status 1
stop: Unknown instance: 
invoke-rc.d: initscript mysql, action "stop" failed.
start: Job failed to start
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error while cleaning up:
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 mysql-server-5.6
E: Sub-process /usr/bin/dpkg returned an error code (1)

Я знаю, что главная рекомендация состоит в том, чтобы полностью удалить mysql и все его компоненты, но я не могу сделать этого. Вы могли рассмотреть какое-либо решение?

1
задан 8 November 2015 в 20:40

1 ответ

  1. Отредактируйте post-installation сценарий

    sudo nano /var/lib/dpkg/info/mysql-server-5.6.postinst
    
  2. Ищите функцию

    invoke() {
        if [ -x /usr/sbin/invoke-rc.d ]; then
            invoke-rc.d mysql $1
        else
            /etc/init.d/mysql $1
        fi
    }
    

    и замена

    invoke() {
        echo
        #if [ -x /usr/sbin/invoke-rc.d ]; then
        #     invoke-rc.d mysql $1
        #else
        #     /etc/init.d/mysql $1
        #fi
    }
    
  3. Сохраните файл

  4. Отредактируйте pre-removal сценарий

    sudo nano /var/lib/dpkg/info/mysql-server-5.6.prerm
    
  5. Ищите строки

    if [ -x "/etc/init.d/mysql" ] || [ -e "/etc/init/mysql.conf" ]; then
            invoke-rc.d mysql stop || exit $?
    fi
    

    и замена

    if [ -x "/etc/init.d/mysql" ] || [ -e "/etc/init/mysql.conf" ]; then
            echo
            #invoke-rc.d mysql stop || exit $?
    fi
    
  6. Отредактируйте post-removal сценарий

    sudo nano /var/lib/dpkg/info/mysql-server-5.6.postrm
    
  7. Поиск

    # New packaging paradigm for my.cnf as of Dec-2014 for sharing mysql
    # variants in Ubuntu.
    case "$1" in
      remove|disappear)
        /usr/share/mysql-common/configure-symlinks remove mysql "$mysql_cfgdir/mysql.cnf"
      ;;
    esac
    

    и замена

    # New packaging paradigm for my.cnf as of Dec-2014 for sharing mysql
    # variants in Ubuntu.
    case "$1" in
      remove|disappear)
        # /usr/share/mysql-common/configure-symlinks remove mysql "$mysql_cfgdir/mysql.cnf"
      ;;
    esac
    
  8. Сохраните файл и выполните команду снова

    sudo apt-get remove --purge mysql-server-5.6
    
1
ответ дан 7 December 2019 в 16:06

Другие вопросы по тегам:

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