Для изменения типа данных столбца с int на BigInt в MySql 5.7 можно использовать следующий SQL-запрос:
```sql
ALTER TABLE table_name MODIFY column_name bigint;
```
Чтобы выполнить миграцию таблицы с PK на BigInt без блокировки таблицы, можно использовать следующие способы:
1. Использование инструментов для онлайн-миграции данных, таких как pt-online-schema-change или gh-ost. Эти инструменты позволяют выполнять изменения структуры таблицы без блокировки данных на чтение и запись.
2. Использование репликации данных. В этом случае можно создать временную таблицу с новой структурой и скопировать данные с помощью репликации на эту новую таблицу, а затем переключить трафик на новую таблицу.
3. Постепенная миграция данных. Можно разделить процесс миграции на несколько этапов, например, сначала изменить тип данных на int unsigned, а затем на BigInt.
Наиболее эффективным способом для миграции таблицы с PK на BigInt считается использование инструментов для онлайн-миграции данных, таких как pt-online-schema-change или gh-ost. Эти инструменты обеспечивают минимальные временные затраты и позволяют проводить изменения без блокировки таблицы, что позволяет поддерживать доступность данных для чтения и записи во время процесса миграции.