Mysqldump без блокировки таблиц

По умолчанию для mysqldump требуются права пользователя на блокировку таблиц.

Потому, когда вы создаёте бекапы, вы можете получить сообщение вроде:

mysqldump: Got error: 1044: «Access denied for user ‘USER’@’%’ to database ‘DATABASENAME'» when using LOCK TABLES

Программа генерации дампа блокирует поочередно таблицы, чтобы создать текст скрипта.

Но если у пользователя нет требуемых привилегий на блокировку таблиц, воспользуйтесь ключом —single-transaction, который меняет подход к созданию дампа, генерируя его в рамках одной транзакции:

Прав на блокирову таблиц при этом не нужно.

Мало букафф? Читайте есчо !

Создать пользователя MySQL и выдать ему права на базу данных

Июль 20, 2023 г.

Обычно для этого требуется выполнить две команды - создать пользователя, выдать права. Создание пользователя MySQL Для нашей цели достаточно выполнить следующую команду: [crayon-698955dce0e34013481349/] Где new-user-name - имя нового пользователя, ...

Читать

Нумерация при выборке строк в mySQL

Апрель 24, 2023 г.

В MSSQL есть функция ROW_NUMBER(), которая нумерует строки выборки. В MySQL такой функции пока нет, но мы можем использовать трюк с переменными для достижения нужного эффекта. К примеру, вы хотите выбрать название книг и пронумеровать список. Изначально ...

Читать

Сортировка результатов при использовании DISTINCT в MySql

Май 15, 2016 г.

Есть один феномен, связанный с внутренней сортировкой в mySQL, которая служит для реализации функционала DISTINCT (выбора уникальных значений). Если вы ...

Читать

Нумеруем строки в результатах mySQL

Март 6, 2019 г.

Для mySQL 8й версии эта статья не актуальна, т.к. там появилась целая серия замечательных функций, в том числе ROW_NUMBER(). Но пока на значительном количестве хостингов используется 5я версия. Приём прост: требуется объявить переменную и инкрементировать ...

Читать
 

Комментарии к «Mysqldump без блокировки таблиц»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: