У меня проблемы с бегом mysqldump
как пользователь root mysql. Когда я пытаюсь сделать резервную копию mysql
table Я получаю эту ошибку:
mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user
'root'@'localhost' for table 'cond_instances' when using LOCK TABLES
Кто-нибудь видел это раньше? Я видел несколько ссылок на мои mysql и mysqldump, которые были разными версиями, но когда я запускаю, они находятся в одном каталоге.
Я использую MySQL 5.5.8.
--skip-add-locks не работает:
# mysqldump -u root -p`cat mysqlRoot.txt` --databases performance_schema --routines --quote-names --skip-add-locks > mysql_performance_schema
mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'cond_instances' when using LOCK TABLES
вы хотите вместо этого --skip-lock-tables
(Я понимаю, что это произошло с опозданием на 8 месяцев)
Это не проблема блокировок, и предлагаемые решения просто обходят реальную проблему:
А 5.5 mysqldump приложение не должно экспортировать performance_schema
база данных в первую очередь.
Основываясь на моем предыдущем опыте, я предлагаю mysqldump
программа, которую вы использовали, является 5.1 версия. Как сказать? Проблема:
mysqldump --version
А 5.1 клиент не подозревает о «футуристическом» существовании performance_schema
и поэтому пытается его сбросить. Он не знает, что этого не должно быть.
Попробуйте найти 5.5 версию и используйте ее для сброса, не добавляя предложенных блокировок, и это должно работать хорошо.
Добавьте --skip-add-locks в свою команду mysqldump
Как упомянул Шломи Ноах, резервное копирование performance_schema не предполагается.
Самый простой способ исправить это - установить в файле конфигурации следующее:
CONFIG_db_exclude=( 'performance_schema' 'information_schema' )