Как вы можете видеть объяснение в здесь,
Вы не можете иметь файл и папку с одинаковым именем, потому что каталоги - это просто специальный вид файлов
Что я предлагаю, так это переименовать > создать > переместить с проверкой команд &&
между ними
например
mv 123 123_tmp && mkdir 123 && mv 123_tmp 123/
Вы можете использовать абсолютные пути
Ошибки указывают на то, что вы должны были попытаться установить mysql-сервер, но что-то пошло не так. Проблема возникла при настройке пакета mysql-community-server
. Вы можете попробовать запустить:
dpkg --configure mysql-community-server
или:
dpkg-reconfigure mysql-community-server
Если вы больше не хотите использовать mysql-server, вы можете запустить:
apt-get remove mysql-community-server mysql-server
Чтобы полностью удалить эти пакеты из вашей системы. Это должно решить проблему.
Я сам столкнулся с этим в Ubuntu 16.04 LTS (xenial).Ваш журнал MySQL, вероятно, также содержит ошибки mysql_upgrade: Получил ошибку: 2002: Не удается подключиться к локальному серверу MySQL через сокет '/var/run/mysqld/mysqld.sock' (2) при подключении к серверу MySQL
В процессе обновления произошла ошибка, и он не будет продолжен.
.
Вот что я делал, чтобы обойти эту проблему (я еще не отладил настоящую проблему, почему соединение не работает). Это работало через последние 3 обновления MySQL.
Во-первых, как пользователь root с работающим MySQL:
# mysql_upgrade --defaults-file=/etc/mysql/debian.cnf
Это должно завершиться без ошибок.
Затем отредактируйте файл /var/lib/dpkg/info/mysql-server-5.7.postinst
. Где-то в строке 320 найдите и прокомментируйте строку:
mysql_upgrade --defaults-file=/etc/mysql/debian.cnf || result=$?
Выйдите и сохраните файл. Запустите apt-get upgrade
еще раз, и он должен работать без ошибок.
Похоже, повторный запуск сервера ()из скрипта postinst не удался. Это может иметь разные причины, часто служба все еще работает (, например. потому что на самом деле действие остановки перед ошибкой ), но возможно, что mysql не может запуститься из-за какой-то проблемы.
Попробуйте запустить /etc/init.d/mysql stop;/etc/init.d/mysql start;
и посмотрите, нет ли ошибок. Если mysql не останавливается правильно, вы можете попытаться убить его с помощью killall
.
Если проблема исправлена, запустите dpkg --configure -a
, чтобы настроить все пакеты, которые были задержаны при сбое скрипта postinst.
Другой хак заключается в том, чтобы найти скрипт postinst в /var/lib/dpkg
и поместить exit 0
после строки #!/bin/sh
, затем запустить dpkg --configure -a
и затем удалить строку. Имейте в виду, что любые (возможно важные )части сценария postinst не выполняются.
Что касается вашего обновленного вопроса, во-первых, я вижу в вашем sources.list некоторые излишества. Например, у вас есть эта ошибка в вашем выводе:
W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list:6
И у вас есть это в строке 1 в вашем исходном файле
deb http://it.archive.ubuntu.com/ubuntu precise main restricted
который дублируется в строке 6.
Чтобы исправить эти ошибки, я предлагаю вам удалить все повторяющиеся строки, указанные в выводе. (Их много!)
Во-вторых, есть такая ошибка:
W: GPG error: http://extras.ubuntu.com/ubuntu precise Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 16126D3A3E5C1192
Чтобы исправить эту ошибку GNU Privacy Guard, давайте получим этот ключ. Запустите это:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 16126D3A3E5C1192
Затем исправьте сломанные зависимости, запустив dpkg --configure -a
илиapt-get install -f
(или оба ).
и еще раз:
apt-get clean && apt-get update
Похоже, что установка была прервана в предыдущем сеансе.
Попробуйте sudo apt-get install -f
, чтобы увидеть, исправит ли это сломанные зависимости.
Если это не поможет, очистите сервер MySQL:
sudo apt-get purge mysql-server mysql-community-server
Затем очистить и обновить:
sudo apt-get autoclean && sudo apt-get clean && sudo apt-get update
Сделать общий апгрейд:
sudo apt-get upgrade
Теперь попробуйте повторно -установить:
sudo apt-get install mysql-server and mysql-community-server
Если вы делаете это из командной строки root, вы не ведете ведущую команду sudo
.
ЧТОБЫ УДАЛИТЬ MYSQL с ошибками и УСТАНОВИТЬ MYSQL -> Workbench работает хорошо:
Общее время поиска этого решения = 1 час 40 минут на всех форумах (также с исходного сайта mysql && с китайских форумов)
1 )Прежде всего
sudo rm /var/lib/mysql/ -R
sudo rm /etc/mysql/ -R
sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor
sudo apt-get install mysql-server mysql-common
sudo mysql -u root -p
mysql> quit
2 )Следуйте инструкциям из этого руководства Как установить MySQL 8.0 на Ubuntu 18.04
3 )Следуйте инструкциям из этого руководства Краткое руководство по использованию репозитория MySQL APT
- INSTEAD OF "libmysqlclient18" USE "libmysqlclient21"
- FINISH ON COMMAND "apt-get source -b mysql-server"
- CONTINUE STEP 4
4 )ПО Ubuntu (программная платформа )Ubuntu 18.04
- Search "mysql" or "workbench" and find "MySQL Workbench"
- install
5 )Удаление sudo... = ИЗБЕЖАНИЕ ОШИБОК при загрузке баз данных
5.1. sudo mysql -u root -p
5.2. mysql> use mysql;
5.3. mysql> select user, host, plugin from mysql.user;
5.4. mysql> create user 'gabriel'@'localhost' identified by 'gabriel';
5.5. mysql> grant all privileges on *.* to 'gabriel'@'localhost';
// **all privileges on *asterisk* dot *asterisk** (idk why but it doesn't allow * asterisk)
5.6. mysql> update user set plugin="auth_socket" where User='gabriel';
5.7. mysql> flush privileges;
5.8. mysql> exit
5.9. sudo service mysql restart
5.10. mysql -u gabriel -p
5.11. mysql> show databases;
5.12. mysql> quit
Запустите «MySQL Workbench» и, когда он запросит пароль, нажмите «Сохранить» в «связке ключей» и нажмите «Ввод», не вводя пароль.
Готово.:)
Дополнительно:(для добавления новых баз данных):
(from new db)
В папке "employees _db" (или что там может быть )выполните команду:
mysql -u root -p -t < employees.sql
У меня была эта проблема с сервером с 512 МБ ОЗУ. Такой проблемы не было после того, как я обновил до 1 ГБ ОЗУ.
В Ubuntu 16.04 мне помогло включение mysql.service
до sudo apt-get update
и sudo apt-get upgrade
. Это потому, что обычно mysql.service
отключен.
Т.е. Я сделал следующее:
sudo systemctl enable mysql.service
sudo apt-get update
sudo apt-get upgrade
Выполнение описанных выше шагов (в указанном порядке )позволило моей системе успешно обновиться.
Если вы не хотите, чтобы служба mysql оставалась включенной после перезагрузки, также выполните
sudo systemctl disable mysql.service
вы можете очистить все и переустановить
Прежде всего, сделайте резервную копию вашей полезной базы данных
очистить все сделать это
1 -базовая проверка СУБД:
dpkg -l | grep -e mysql-server -e mariadb-server
сделать эту лабораторную
убить весь процесс mysql
sudo service mysql stop
sudo killall -9 mysql
sudo killall -9 mysqld
sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-5.7 mysql-client-core-5.7
sudo apt-get remove --purge mysql*
sudo apt-get purge mysql*
sudo apt-get remove dbconfig-mysql
sudo apt-get autoremove
sudo apt-get autoclean
удалить старые файлы mysql
sudo rm -rf /etc/mysql /var/lib/mysql
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql
обновление
sudo apt-get dist-upgrade -y
sudo apt update
, затем переустановите
sudo apt-get install mysql-server and mysql-community-server