Собственная таблица 'performance_schema'. '???' имеет неправильную структуру
Я получаю следующее:
Native table 'performance_schema'.'file_instances' has the wrong structure
Native table 'performance_schema'.'cond_instances' has the wrong structure
Native table 'performance_schema'.'rwlock_instances' has the wrong structure
Native table 'performance_schema'.'mutex_instances' has the wrong structure
...
И на нем идет
Эти ошибки возникают, когда я перезапускаю MySql. Похоже, что администратор MySql становится нестабильным, я получаю много:
"MySQL server has gone away"
Ответы
Ответ 1
По-видимому, хранилище схемы MySQL повреждено по причине. Этими причинами могут быть:
- Вы нарушили базу данных
information_schema
- Файловая система повреждена или некоторые ошибки в файловой системе повреждены в базе данных.
- Внутренние базы MySQL сломали базу данных схемы из-за ошибки в MySQL (возможно, никто раньше не встречался).
Если у вас нет резервных копий, вы все равно можете получить доступ к своим данным, сначала сделайте резервную копию своих данных, а затем выполните следующие действия:
Если у вас есть резервные копии, переустановите MySQL (до этого полностью очистите все данные mysql), а затем импортируйте свои данные.
Ответ 2
Попробуйте выполнить следующую команду в оболочке (пользователь root - это пользователь root mysql, а не системный корень)
sudo mysql_upgrade -u root -p
После запуска убедитесь, что перезапустить mysql (все кредиты @Mikepote в комментариях.)
Ответ 3
В моем случае он появился, когда конкретный запрос был запущен в таблице.
И журнал также содержит:
Отсутствует системная таблица mysql.proxies_priv; запустите mysql_upgrade, чтобы создать его
Я запустил mysql_upgrade, после чего проблема исчезла.
Ответ 4
У меня была эта проблема, ответ был здесь @Berend de Boer
Перезагрузите mysql после обновления.
[ERROR] Собственная таблица производительности таблицы имеет неправильную структуру
Ответ 5
Эта ошибка возникает при установке MySQL поверх предыдущей установки, которая была настроена без схемы производительности или более старой версии схемы производительности, в которой могут отсутствовать все текущие таблицы.
Я также столкнулся с этой проблемой на mamp. Чтобы решить эту проблему, я выполнил следующее:
cd /Applications/MAMP/bin/
sudo ./upgradeMysql.sh
Не забудьте перезапустить сервер MySQL.
Вы можете прочитать конфигурацию сборки Performance Schema для более подробной информации.
Ответ 6
Если база данных является базой данных Akonadi (KDE), указанной выше будет недостаточно.
Вам нужно отобразить опции, предоставленные вашей mysqld, с помощью
ps aux | grep mysql
Скопируйте параметры в команды mysql_upgrade (мне не нужен "-u root -p", но вы могли бы)
mysql_upgrade --defaults-file=/home/USER/.local/share/akonadi/mysql.conf --datadir=/home/USER/.local/share/akonadi/db_data/ --socket=/tmp/akonadi-USER.x0Bvxr/mysql.socket
Я действительно думаю, что ключ --socket - это ключ.
Ответ 7
Попробуйте mysql_upgrade
а затем перезапустите mysql и верните его обратно.
Ответ 8
Да, ответ mysql_upgrade работал и для меня. Сервер, имеющий проблемы, был клонирован с рабочего сервера, и performance_schema никогда не переносилась успешно. Просто убедитесь, что mysql запущен, прежде чем вводить команду mysql_upgrade, а затем, как уже упоминалось, перезапустите mysql.