Как мне остановить automysqlbackup, выдавая ошибку LOCK TABLES?

Вот мои два цента ... сложный запрос только заставлял его работать, изначально выраженный с помощью Minus и переведенный для MySql

С MINUS:

select distinct oi.`productOfferingId`,f.name 
from t_m_prod_action_oitem_fld f
     join t_m_prod_action_oitem oi 
    on f.fld2prod_action_oitem = oi.oid;
minus
select
  distinct r.name,f.name
from t_m_prod_action_oitem_fld f
     join t_m_prod_action_oitem oi 
    on f.fld2prod_action_oitem = oi.oid
     join t_m_rfs r 
    on r.name = oi.productOfferingId
     join t_m_attr a 
    on a.attr2rfs = r.oid and f.name = a.name;

С NOT EXISTS

select distinct oi.`productOfferingId`,f.name 
from t_m_prod_action_oitem_fld f
     join t_m_prod_action_oitem oi 
    on f.fld2prod_action_oitem = oi.oid
where not exists (
select
  r.name,f.name
from t_m_rfs r 
     join t_m_attr a 
    on a.attr2rfs = r.oid   
where r.name = oi.productOfferingId and f.name = a.name
21
задан iainH 14 May 2012 в 11:13
поделиться

1 ответ

Эта ошибка (который был зафиксирован в automysqlbackup 2.6+debian.2-1) может работаться вокруг, мешая automysqlbackup вывести performance_schema и information_schema базы данных. Это может быть сделано путем редактирования /etc/default/automysqlbackup следующим образом:

Добавляют, что дополнительный канал к grep ступает для удаления performance_schema и information_schema из списка DBNAMES.

Так, в строке, которая запускается DBNAMES=, и после | grep -v ^mysql$, вставляют

| grep -v ^performance_schema$ | grep -v ^information_schema$

прежде | tr \\\r\\\n ,\ таким образом, что заключительная строка должна быть похожей

DBNAMES=`mysql --defaults-file=/etc/mysql/debian.cnf --execute="SHOW DATABASES" | awk '{print $1}' | grep -v ^Database$ | grep -v ^mysql$ | grep -v ^performance_schema$ | grep -v ^information_schema$ | tr \\\r\\\n ,\ `

Благодаря JГ©rГґme Drouet.

, С другой стороны, при использовании исходного automysqlbackup пакета из SourceForge а не способного пакета можно добавить performance_schema базу данных к исключенным базам данных путем изменения строки, которая содержит CONFIG_db_exclude в/etc/automysqlbackup/myserver.conf:

# List of DBNAMES to EXLUCDE if DBNAMES is empty, i.e. ().
CONFIG_db_exclude=( 'information_schema' 'performance_schema' )
32
ответ дан gene_wood 22 October 2019 в 14:44
поделиться
Другие вопросы по тегам:

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