加入收藏 | 设为首页 | 会员中心 | 我要投稿 航空爱好网 (https://www.52kongjun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

解决Mysql 用source无法导入数据库的问题

发布时间:2022-11-19 13:30:23 所属栏目:MsSql教程 来源:未知
导读: 需求:如何将mysql的库进行重命名?
方法一:
RENAME DATABASE old_database TO new_database;
?? 该方法在某些版本中不可用,谨慎使用!
方法二:新建库,重命名数据库里面的所有表,再删

需求:如何将mysql的库进行重命名?

方法一:

RENAME DATABASE old_database TO new_database;

?? 该方法在某些版本中不可用,谨慎使用!

方法二:新建库,重命名数据库里面的所有表,再删除旧库

CREATE DATABASE new_db_name;  创建新的数据库
RENAME TABLE db_name.table1 TO new_db_name.table1;   对所有的表进行重命名
DROP DATABASE db_name;            删除原来的数据库

用到了rename table,改表名的命令。如果新表名后面加数据库名,就会将老数据库的表移动到新的数据库。

该种方法需要写一个脚本,将库里面的表进行遍历重命名。

方法三:通过mysqldump进行数据库的备份再导入

1、首先将旧库导出。

MYSQLDUMP -uroot -p123456 --databases old_db >/tmp/db_out.sql

2、然后再新建库以后用source进行导入

CREATE wan_da_xin_prod;
USE wan_da_xin_prod;
SOURCE /tmp/db_out.sql;

问题出现: source 无法正确导入

在应用第三种方法时,切换到了新库后再使用source命令,但是依然会将旧库的表导入到旧库中。也就是db_out库的表还是会导入到old_db库里面去。

问题解决:

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `wan_da_xin_prod` 
/*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE 
utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;
USE `wan_da_xin_prod`;

使用sudo nano db_out.sql将sql脚本中的数据库名称修改后,再次地使用source导入就没有问题了。

总结:

当数据库较大的时候,第三种方法耗时耗力mssql数据库导入,但是对于数据量小的时候还是比较合适的;我看网上的对第三种方法的文章比较多,但是没有提到我遇到的问题,因此特地在此记录一下。

如果您觉得上面的内容对您有帮助欢迎点赞、评论、转发!

更多内容请查阅作者博客:

或者star作者github: github.com/Jarrettluo?tab=repositories

(编辑:航空爱好网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!