Me he encontrado frecuentemente con este error cuando estoy haciendo una migración de una aplicación de Laravel a un servidor productivo con base de datos mySQL, afortunadamente es muy sencillo de corregir.

En el archivo \app\Http\Providers\AppServiceProvider.php hay que añadir la siguiente línea en el método boot():

Schema::defaultStringLength(191);

Y no olvidar también añadir

use Illuminate\Support\Facades\Schema;

al principio del archivo, de esta forma, un archivo con estas mínimas modificaciones debe quedar de la siguiente manera:

<?php
namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;

class AppServiceProvider extends ServiceProvider
{
  public function register()
  {
    //
  }

  public function boot()
  {
    //
    Schema::defaultStringLength(191);
  }
}