导出
www.runoob.com/mysql/mysql…需要导出整个数据库的数据,可以使用以下命令:
css
复制代码
mysqldump -u root -p RUNOOB > database_dump.txt
遇到的问题
默认导出出现了一个问题: ![[Pasted image 20230926192118.png]] 就是数据库默认不区分大小写,就导致我原本以驼峰命名的表都已小写出现了。 通过指令导入新数据库后,再运行代码,自动创建了一个新的和原先同名的表。 导致出现了两个TEST表。 所以在使用docker构建容器后,读取TEST表的数据为空😌 ![[Pasted image 20230926192147.png]] 使用复制表(完全结构相同)到另一个表中
sql
复制代码
INSERT INTO TEST SELECT * FROM test; INSERT INTO DailyAlgorithmRecord SELECT * FROM dailyalgorithmrecord; DROP TABLE dailyalgorithmrecord ; DROP TABLE test ;
导入
就是把数据库文件信息以sql文件导出,然后进入mysql容器里面再导入
数据卷怎么上传?不会(看了官网的文档,使用ORS上传到dockerHub上,然后再拉下来,然后替换就可以了,感觉也没有很方便……)!
至于为什么不写进启动的命令里,是因为每次启动都会调用这些命令行,所以只在第一次部署的时候注入
导出的命令是mysqldump -u root -p -P 13306 gva > D:\goland\gin-vue-admin\dumpAll.sql
该命令是用于从一个 SQL 文件中恢复一个数据库的。但是,如果您的 SQL 文件是用 Windows PowerShell 和 mysqldump 命令创建的,可能会出现编码问题。因为 PowerShell 的默认编码是 UTF-16,而 MySQL 不支持这种编码1。这可能导致您的 SQL 文件中出现一些不可识别的字符,从而引发错误。
解决这个问题的方法之一是,使用 --result-file 选项来生成 ASCII 格式的输出文件1。例如:
mysqldump -u root -p -P 13306 gva --result-file=D:\goland\gin-vue-admin\dumpAll.sql
-P是宿主机链接数据库的端口
然后,您可以用这个文件来恢复数据库:
下面是把sql文件导入数据库的命令
css
复制代码
mysql -u root -p --binary-mode --force gva < ./dumpAll.sql # 导入sql文件