'mysql_upgrade' перестал работать без приведенной настоящей причины

Я хотел бы услышать, почему можно доверять им для веб-хостинга, но не для электронной почты, Вы обнаружили определенную проблему? По моему скромному мнению, они или профессиональны и достаточно защищены для хостинга всего или ничего вообще; я не могу вообразить сценарий, где я доверял бы другому бизнесу только немного и все еще был бы рад дать им любой бизнес. Или действительно ли они "защищены", но невежественны на почтовой стороне вещей (в этом случае, возможно, существуют проблемы с хостингом, который Вы не знаете о)?

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

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

70
задан 31 July 2013 в 07:54
17 ответов

Этот вопрос очень общий, и я приношу свои извинения.

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

Многие другие ответы на этот вопрос - это проблемы, с которыми мне пришлось работать, чтобы запустить mysql_upgrade изначально, но по какой-то причине - это не удалось, так как он пытался выполнить некоторые автоматические запросы, и я не мог найти документацию по запросам, которые он выполнял, чтобы я мог их исправить.

3
ответ дан 28 November 2019 в 19:28

попробуйте

mysql_upgrade --verbose 

или, может быть, даже (или оба)

--debug-check --debug-info
-1
ответ дан 28 November 2019 в 19:28

вы можете попробовать запустить их по очереди, чтобы увидеть, где это не удается:

mysql_upgrade выполняет следующие команды для проверки и восстановления таблиц и обновления системных таблиц:

mysqlcheck --all-databases --check-upgrade --auto-repair  
mysql < fix_priv_tables  
mysqlcheck --all-databases --check-upgrade --fix-db-names --fix-table-names

из ] http://dev.mysql.com/doc/refman/5.5/en/mysql-upgrade.html

5
ответ дан 28 November 2019 в 19:28

Я думаю, что для этого нужны имя пользователя и пароль

mysql_upgrade -u root -p

Если я не передам их, я получаю вашу ошибку

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

Таким образом, вы получаете эту ошибку, когда

  • вы не передали имя пользователя и пароль
  • вы передали свои учетные данные, но они были неправильными
  • сервер MySQL не работает
  • таблицы разрешений разрушены (тогда вы должны перезапустить MySQL с помощью mysqld --skip-grant-table )
  • таблица mysql.plugin отсутствует (вы при запуске MySQL вы увидите сообщение об этом, предлагающее запустить ... mysql_upgrade, и это не удается. Вероятно, у вас есть устаревшая конфигурация в my.cnf)
95
ответ дан 28 November 2019 в 19:28

Я только что столкнулся с этими точными симптомами при обновлении с 5.5 до 5.6, и это оказалось проблемой доступности службы.

Несмотря на то, что клиент cli MySQL мог подключиться к моему локальному экземпляру БД с предоставленными только -u и -p мне также нужно было указать -h 127.0.0.1 для mysql_upgrade, поскольку он пытался подключиться к файлу сокета и терпел неудачу при попытке.

9
ответ дан 28 November 2019 в 19:28

Я тоже столкнулся с этим после обновления моей системы с Mint 12 до Mint 15. Я заархивировал / var / lib / mysql и поместил его на место после обновления. Я запустил первый mysqlcheck из комментария user16081, и он пожаловался на mysql.sock.

Я запустил mysqld, используя / usr / sbin / mysqld & и mysql_upgrade ] нормально работала.

0
ответ дан 28 November 2019 в 19:28

I ran across the same problem.
Я решил это, включив -S /path/to/mysql.sock[1288 impression В моем конкретном случае результат mysql_upgrade был:
Ищем mysql как: mysql
Ищем mysqlcheck как: mysqlcheck
ФАТИЧЕСКАЯ ОШИБКА: Ошибка обновления

Это бесполезно. --verbose не имело никакого значения.

Я остановился на следующей команде, и она сработала как шарм:
mysql_upgrade -S /var/lib/mysql/mysql.sock -uUSERNAME -p

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

0
ответ дан 28 November 2019 в 19:28

Вы должны проверить права доступа ко всем файлам с данными mysql. Это должен быть тот же владелец mysql PID (mysql или _mysql). Иногда это происходит из-за восстановления данных из файла без надлежащего разрешения. Например, если ваши данные mysql находятся в / var / lib / mysql

chown -R mysql /var/lib/mysql
2
ответ дан 28 November 2019 в 19:28

Та же проблема! Решение для меня пришло из http://www.freebsd.org/cgi/query-pr.cgi?pr=180624

Вкратце: ошибка вводит в заблуждение! запустите mysql_upgrade -u root -p с БД в сети и укажите пароль root.

5
ответ дан 28 November 2019 в 19:28

Наш DBA деинсталлировал mysql версию 5.0.95 вместо того, чтобы просто обновиться до 5.5.39. При деинсталляции была сделана резервная копия /etc/my.cnf до /etc/my.cnf.rpmsave, после чего она была удалена, что не позволило MySQL правильно запуститься:

140902 15:00:57 [ERROR] Plugin 'InnoDB' init function returned error.
140902 15:00:57 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140902 15:00:57 [ERROR] Unknown/unsupported storage engine: InnoDB
140902 15:00:57 [ERROR] Aborting

Вы можете сделать следующее:

  • Сравните файлы my.cnf вручную и приведите соответствующие настройки конфигурации для InnoDB

  • Восстановите my.cnf. rpmsave обратно поверх оригинальных (сначала проверьте, нет ли новых настроек по умолчанию, которые нужно добавить!)

  • Используйте инструмент diff, например vimdiff, чтобы сравнить my.cnf.rpmsave с новым my.cnf и вернуть назад настройки, которые были сделаны в конфигурационном файле MySQL, включая настройки InnoDB.

    [root]# vimdiff /etc/my.cnf /etc/my.cnf.rpmsave

Я сделал последнюю опцию, затем смог запустить MySQL:

root]# service mysqld start
Starting mysqld:                                           [  OK  ]

и теперь mysql_upgrade работает нормально, используя mysql_upgrade -uroot -p, поэтому он попросил меня ввести пароль root.

[root]# mysql_upgrade -uroot -p
Enter password:
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
Running 'mysqlcheck with default connection arguments
....

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

, а также использование mysql_upgrade -uroot -p не помогло, так как ему нужен MySQL для работы!

Уроки усвоены:

  • Резервное копирование my.cnf перед апгрейдом.... А на самом деле сделайте обновление на месте вместо деинсталляции, затем установите более новую версию.
  • Запустите MySQL, чтобы можно было использовать mysql_upgrade.
  • Profit.
2
ответ дан 28 November 2019 в 19:28

Пользователь с правами root для MySQL называется "admin", а не root. Правильная команда -

mysql_upgrade -uadmin -p
-3
ответ дан 28 November 2019 в 19:28

У меня та же проблема, но источником моих проблем был старый формат пароля. В то время как mysql может быть принудительно подключен с использованием старого формата с помощью «skip-secure-auth», mysql_upgrade не имеет этой опции. Сначала вам нужно обновить пароль root с использованием нового формата, а затем вы можете обновить свой mysql.

1
ответ дан 28 November 2019 в 19:28

Я столкнулся с этой проблемой и обнаружил, что

  1. для работы требовалась служба MySQL

  2. , для этого требовалось имя пользователя и пароль

0
ответ дан 28 November 2019 в 19:28

Это похоже на сервер Plesk, при использовании Plesk нет root для Mysql, но администратор Mysql называется admin, поэтому эта команда должна работать в Plesk, как я пробовал раньше:

mysql_upgrade -uadmin -p`cat /etc/psa/.psa.shadow`
9
ответ дан 28 November 2019 в 19:28

Я столкнулся с той же проблемой.

Я решил это, установив новую базу данных с помощью mysql_install_db --user = mysql , как описано в комментариях к моему rc .mysql файл в /etc.

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

У меня была эта проблема на руке Slackware, но предположим, что это не так. В данном случае это не имеет значения.

0
ответ дан 28 November 2019 в 19:28

Была та же проблема при обновлении с 5.1 до 5.5.

У меня сработало: sudo mysql_upgrade -S -u -p

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

1
ответ дан 28 November 2019 в 19:28

В моем случае у меня было несколько версий mysqld, работающих локально, что приводило к сбою mysql_upgrade с ошибкой : Ошибка при загрузке версии сервера! Возможно, из-за несанкционированного доступа. ps aux | grep mysql и убедитесь, что все mysqld выключено. Затем заварите, удалите все версии, переустановите нужную версию. И после этого mysql_upgrade начал работать.

0
ответ дан 28 November 2019 в 19:28

Теги

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