Использование Juste:
$headers = apache_request_headers();
$token = $headers['token'];
Можно использовать - опция игнорировать-таблицы . Таким образом, Вы могли сделать
mysqldump -u USERNAME -pPASSWORD DATABASE --ignore-table=DATABASE.table1 > database.sql
нет никакого пробела после -p
(это не опечатка).
, Если Вы хотите проигнорировать несколько таблиц, можно использовать простой сценарий как это
#!/bin/bash
PASSWORD=XXXXXX
HOST=XXXXXX
USER=XXXXXX
DATABASE=databasename
DB_FILE=dump.sql
EXCLUDED_TABLES=(
table1
table2
table3
table4
tableN
)
IGNORED_TABLES_STRING=''
for TABLE in "${EXCLUDED_TABLES[@]}"
do :
IGNORED_TABLES_STRING+=" --ignore-table=${DATABASE}.${TABLE}"
done
echo "Dump structure"
mysqldump --host=${HOST} --user=${USER} --password=${PASSWORD} --single-transaction --no-data --routines ${DATABASE} > ${DB_FILE}
echo "Dump content"
mysqldump --host=${HOST} --user=${USER} --password=${PASSWORD} ${DATABASE} --no-create-info --skip-triggers ${IGNORED_TABLES_STRING} >> ${DB_FILE}
Ради полноты вот сценарий, который на самом деле мог быть остротой для получения резервного копирования от базы данных, исключая (игнорирование) всех представлений. Имя дб взято, чтобы быть сотрудниками:
ignore=$(mysql --login-path=root1 INFORMATION_SCHEMA \
--skip-column-names --batch \
-e "select
group_concat(
concat('--ignore-table=', table_schema, '.', table_name) SEPARATOR ' '
)
from tables
where table_type = 'VIEW' and table_schema = 'employees'")
mysqldump --login-path=root1 --column-statistics=0 --no-data employees $ignore > "./backups/som_file.sql"
можно обновить логику запроса. В общем использовании group_concat
и concat
можно генерировать почти любую желаемую строку или окружить команду.