当mvc中运行update-database时,出来,数据库中已经存在shops怎么办

当mvc中运行update-database时,出来,数据库中已经存在shops怎么办,第1张

解决办法有两个

 第一:删除数据库的表,通过update-database重新映射到数据库中。这种方式的缺点是删除了表,表的数据没了,需要备份之后重新导入

第二个方法:在update-database之前先add-migration,在migration的Up,Down方法里面注释数据库已存在的表就OK了。

caching_sha2_password认证插件提供更多的密码加密方式,并且在加密方面具有更好的表现,目前MySQL 80选用caching_sha2_password作为默认的认证插件,MySQL 57的认证插件是MySQL_native_password。如果客户端版本过低,会造成无法识别MySQL 80的加密认证方式,最终导致连接问题。

MySQL存储引擎现在负责提供自己的分区处理程序,而MySQL服务器不再提供通用分区支持,InnoDB和NDB是唯一提供MySQL 80支持的本地分区处理程序的存储引擎。 如果分区表用的是别的存储引擎,存储引擎必须进行修改。要么将其转换为InnoDB或NDB,要么删除其分区。通过MySQLdump从57获取的备份文件,在导入到80环境前,需要确保创建分区表语句中指定的存储引擎必须支持分区,否则会报错。

MySQL 80的默认字符集utf8mb4,可能会导致之前数据的字符集跟新建对象的字符集不一致,为了避免新旧对象字符集不一致的情况,可以在配置文件将字符集和校验规则设置为旧版本的字符集和校验规则。

MySQL 80启动使用的lower_case_table_names值必须跟初始化时使用的一致。使用不同的设置重新启动服务器会引入与标识符的排序和比较方式不一致的问题。

< lower_case_table_names >

>

要避免MySQL 80上的启动失败,MySQL配置文件中的sql_mode系统变量不能包含NO_AUTO_CREATE_USER。

从MySQL 5724和MySQL 8013开始,MySQLdump从存储程序定义中删除了NO_AUTO_CREATE_USER。必须手动修改使用早期版本的MySQLdump创建的转储文件,以删除NO_AUTO_CREATE_USER。

在MySQL 8011中,删除了这些不推荐使用的兼容性SQL Mode:DB2,MAXDB,MSSQL,MySQL323,MySQL40,ORACLE,POSTGRESQL,NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS。从57到80的复制场景中,如果语句使用到废弃的SQL Mode会导致复制异常。

在执行到MySQL 803或更高版本的in-place升级时,BACKUP_ADMIN权限自动授予具有RELOAD权限的用户。

本文对MySQL 57到MySQL 80的升级过程中出现部分易出现问题进行整理:升级对MySQL版本的要求、升级都做了哪些内容、数据库升级做了哪些步骤以及注意事项,希望对大家版本升级有帮助。

MySql Administrator是mysql的图形化管理器(就是类似于sql server的企业管理器),用它可以来管理和控制数据库,类似的软件非常多,比如MySQL Front之类的。

MySQL Migration Toolkit是mysql官方提供的数据库移植工具,可以将任何数据源转换成mysql的数据,也可以将mysql的数据转换成其它类型的数据。 详见>

配置MMT环境变量如下:

MIGRATIONS_HOME: D:\Software\mybatis-migrations-320

Path: %MIGRATIONS_HOME%\bin

打开命令行窗口执行"migrate --help"测试MMT如下:

进入项目目录执行'migrate init'初始化MMT环境目录。

初始化后,MMT创建drivers,environments和scripts三个目录。其中drivers目录用来存放数据库驱动所依赖的jar包,environments目录用户配置数据库信息,scripts目录则用来存放数据库脚本。将准备好的数据驱动包放入drivers目录,这里以mysql为例。打开environments目录下的developmentproperties文件配置开发环境数据源信息如下:

如需要配置其他环境如test、demo、staging、production等,只需要复制developmentproperties文件修改相应的数据库链接即可。至此MMT的配置工作已经完成,我们可以使用其强大的数据库脚本版本控制功能了。

以上就是关于当mvc中运行update-database时,出来,数据库中已经存在shops怎么办全部的内容,包括:当mvc中运行update-database时,出来,数据库中已经存在shops怎么办、如何迁移MySQL数据库、MySql的MySql Administrator,MySql Migration ToolKit是干么用得想学下MySql一窥数据库的运行机制。。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9734020.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存