Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MySql.Data.MySqlClient.MySqlException (0x80004005): Specified key was too long; max key length is 767 bytes #256

Closed
alkubo opened this issue Apr 18, 2019 · 2 comments

Comments

@alkubo
Copy link

alkubo commented Apr 18, 2019

First of all, thanks to the developers' team of this project. It is great!.

1 - I created a new project using the command "dotnet new skoruba.is4admin --name MyProject --title MyProject --adminrole MyRole --adminclientid MyClientId --adminclientsecret MyClientSecret"

2 - Followed the instructions to use the MariaDB database engine

3 - I was able to recreate the first migrations file successfully:
"dotnet ef migrations add AspNetIdentityDbInit -c AdminIdentityDbContext -o Data / Migrations / Identity"

4 - But when I try to run "dotnet ef database update - c AdminIdentityDbContext" I have the following error: MySql.Data.MySqlClient.MySqlException (0x80004005): Specified key was too long; max key length is 767 bytes

Anyone have any idea what it can be, please? thank you in advance.

MySql.Data.MySqlClient.MySqlException (0x80004005): Specified key was too long; max key length is 767 bytes ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Specified key was too long; max key length is 767 bytes
at MySqlConnector.Core.ResultSet.ReadResultSetHeaderAsync(IOBehavior ioBehavior) in C:\projects\mysqlconnector\src\MySqlConnector\Core\ResultSet.cs:line 43
at MySql.Data.MySqlClient.MySqlDataReader.ActivateResultSet(ResultSet resultSet) in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlDataReader.cs:line 81
at MySql.Data.MySqlClient.MySqlDataReader.ReadFirstResultSetAsync(IOBehavior ioBehavior) in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlDataReader.cs:line 307
at MySql.Data.MySqlClient.MySqlDataReader.CreateAsync(MySqlCommand command, CommandBehavior behavior, ResultSetProtocol resultSetProtocol, IOBehavior ioBehavior) in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlDataReader.cs:line 292
at MySqlConnector.Core.TextCommandExecutor.ExecuteReaderAsync(String commandText, MySqlParameterCollection parameterCollection, CommandBehavior behavior, IOBehavior ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlconnector\src\MySqlConnector\Core\TextCommandExecutor.cs:line 37
at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQueryAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlCommand.cs:line 276
at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlCommand.cs:line 77
at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.Execute(IRelationalConnection connection, DbCommandMethod executeMethod, IReadOnlyDictionary2 parameterValues) at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary2 parameterValues)
at Microsoft.EntityFrameworkCore.Migrations.MigrationCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary2 parameterValues) at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery(IEnumerable1 migrationCommands, IRelationalConnection connection)
at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)
at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String contextType)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.<>c__DisplayClass0_1.<.ctor>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)

@alkubo
Copy link
Author

alkubo commented Apr 19, 2019

Nevermind,
I just changed the collation server database engine variable from utf8mb4_unicode_ci to "latin1_swedish_ci" and everything worked perfectly.

thanks anyway

@alkubo alkubo closed this as completed Apr 19, 2019
@alkubo
Copy link
Author

alkubo commented Apr 20, 2019

Nevermind,
I just changed the collation server database engine variable from utf8mb4_unicode_ci to "latin1_swedish_ci" and everything worked perfectly.

thanks anyway

Just for registration, if anyone needs it.

My previous solution worked in the beginning, but it caused me some other problems, like "duplicate key" and other things. The best final solution was to upgrade the MySql / MariaDb engine to the latest version.

The problems occurred in version 10.1 (MariaDB), after upgrading to 10.3, my problems are gone.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant