У меня есть Linux-сервер RedHat.
Я побежал yum update mysql
и он работал нормально. Проблема в том, что когда я перешел на phpMyAdmin, все базы данных были удалены. Поэтому я использовал «импорт» для импорта базы данных, резервную копию которой я сделал перед процессом, но в середине я получил сообщение об ошибке «дублирование первичного ключа» (хотя я не смог найти его в файле).
phpMyAdmin перечислил все таблицы, созданные до этого момента. Когда я использовал SELECT * FROM table_which_caused_error
запрос, я получил все строки, хотя этой таблицы не было в списке таблиц. Однако, когда я пытался запустить «DROP TABLE table_which_caused_error», я получил сообщение об ошибке «таблица не существует».
Что может быть не так ??
Спасибо,
Джоэл
В phpMyAdmin на вкладке «Настройки» вы можете попробовать проверить следующие значения:
Настройки -> SQL-запросы -> Игнорировать несколько ошибок операторов Если вы используете формат CSV:
Настройки -> Импорт -> CSV -> Не прерывать при ошибке INSERT Если вы используете формат SQL:
Настройки -> Экспорт -> SQL -> Использовать вставки игнорирования
ты используешь мой ответ Вот с деталями
mysql_upgrade необходимо запустить после обновления mysql. Насколько я могу судить, в CentOS и remi-версии mysql он не добавляется в пост-обработку rpm. Конечно, вы хотите увидеть, помогает ли /etc/init.d/mysqld restart && /etc/init.d/httpd restart.
человек mysql_upgrade:
mysql_upgrade проверяет все таблицы во всех базах данных на несовместимость с текущей версией MySQL Server. mysql_upgrade также обновляет системные таблицы, чтобы вы могли воспользоваться новыми привилегиями или возможностями, которые могли быть добавлены.
mysql_upgrade должен выполняться каждый раз, когда вы обновляете MySQL. Он заменяет старый скрипт mysql_fix_privilege_tables, который был удален в MySQL 5.5.