【问题标题】:Recreating MySQL Database using .sh and .sql files with IntelliJ使用 IntelliJ 使用 .sh 和 .sql 文件重新创建 MySQL 数据库
【发布时间】:2018-02-12 23:22:00
【问题描述】:

我对此很陌生。我正在尝试设置本地 Java 环境,但通过 JDBC 连接数据库的尝试失败了,因此我还尝试使用现有的 .sql 文件和 .sh 文件创建数据库的本地版本:

ma​​zefire-recreate-db.sh:

cd src/main/sql

# DROP tables
mysql --user=**** --password=**** mazefirehg < mazefire-db-schema-DROP-mysql.sql
# Recreate tables (existing and new)
mysql --user=**** --password=**** mazefirehg < mazefire-db-schema-mysql.sql
mysql --user=**** --password=**** mazefirehg < mazefire-db-schema-new-tables.sql
# Reference/existing/new data import
mysql --user=**** --password=**** mazefirehg < mazefire-db-existing-data.sql
mysql --user=**** --password=**** mazefirehg < mazefire-db-data-new-tables.sql
# ALTER scripts
mysql --user=**** --password=**** mazefirehg < dbupdate-001-alter-answers.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-002-alter-users.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-003-alter-played.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-004-alter-mazes.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-006-new-table-subscription.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-007-alter-mazes-images.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-008-alter-questions-issue-61.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-009-alter-mazes-images.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-010-alter-played-gotRightTwice.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-011-alter-mazes-images.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-012-alter-mazes-images-biology101.3.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-013-alter-played-large-fields.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-014-alter-mazes-images-biology101.4.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-015-alter-mazes-categories.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-016-update-pages.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-017-alter-played-invalid-entry.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-018-update-pages.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-019-create-userconnection.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-020-alter-user.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-021-alter-mazes-categories-MEDscience.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-022-update-pages.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-023-new-table-maze_collection-and-collection_maze.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-024-alter-mazes-categories.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-025-alter-questions-special-characters.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-026-alter-collections.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-027-alter-in_collection.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-029-alter-collection.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-030-new-table-player_collection.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-031-alter-player_collection.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-032-alter-played.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-033-update-mazes-thumbnails.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-034-update-mazes-thumbnails-may13-2015.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-035-alter-answers-special-characters.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-036-alter-questions-explain-special-characters.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-037-alter-mazes-isStretched.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-038-update-mazes-thumbnails-may30-2015.sql

mysql --user=**** --password=**** mazefirehg < dbupdate-040-update-users-data.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-039-update-latest-data-jun11-2015.sql

mysql --user=**** --password=**** mazefirehg < dbupdate-042-alter-mazes-thumbImages-size.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-041-update-mazes-thumbnails-June13-2015.sql

mysql --user=**** --password=**** mazefirehg < dbupdate-043-alter-mazes-isPack.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-044-update-mazes-isPack.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-045-update-mazes-thumbnails-June17-2015.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-046-create-trigger-for-old-new-site-integration.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-047-update-mazes-thumbnails-June24-2015.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-048-insert-and-update-mazes.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-049-insert-anatomy-and-physiology-2.10-maze-data.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-050-missing-AnP-mazes-from-pak.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-051_alter_maze_collections.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-052_remove_unused_collection_tables.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-053-update-Pages.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-054-collections-cleanup.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-055-create-user-purchased-mazes.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-056-update-maze-thumbnails-Biochem-Microbiology.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-057-create-pharmacology-collection.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-058-microbiology-collection-and-other-cleanup.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-059-collections-category-cleanup-new-biochem-collection.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-060-update-Pages.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-061-microbiology-collection-updates-copy.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-062-create_user_purchased-collections.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-063-update-maze-thumbnails-microbiology_astrobiology.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-064-update-microbiology-collection-categories-fix-for-healthcare.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-065-update-collections-verbiage.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-066-maze-thumnail-image-for-Anp2.9.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-067-change-collection-description-size.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-068-alter-played.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-069-alter-played-increase-size-of-pathtaken-and-gotwrong.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-070-alter-table-played.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-071-alter-table-answers.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-072-alter-table-played.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-073-new-table-testimonial.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-074-update-table-testimonial.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-075-alter-table-played.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-076-alter-table-played.sql
# Updates from here for teacher dashboard
mysql --user=**** --password=**** mazefirehg < dbupdate-077-alter-table-users-teachers.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-078-alter-admin-users.sql
mysql --user=**** --password=**** mazefirehg < dbupdate-079-revert-admin-column.sql

cd ../../../

引用的每个 sql 文件都在做一些创建表、导入数据等的组合。我正在使用 IntelliJ,发现我可以Before Launch "Run External Tool" via the Run/Debug Configurations。你可以看到我的Run/Debug Configurations 和我的External Tool Configurations

我不确定是否应该引用其他文件/目录:

程序: mazefire-recreate-db.sh 文件所在的路径。
还尝试引用“mazefire.recreate-db.bat”文件。
参数: 实际的 .sh 文件
工作目录: 创建/修改/导入/等的所有 .sql 文件的路径。数据库驻留

我现在得到的错误是:

运行“数据库”时出错:无法运行程序“/Users/jayjapra/IdeaProjects/MazePilot”(在目录“/Users/jayjapra/IdeaProjects/MazePilot/src/main/sql”中):错误=13,权限被拒绝

即使我使用 chmod 添加了执行权限,所以我认为我没有正确引用。

【问题讨论】:

    标签: java mysql shell intellij-idea


    【解决方案1】:

    Program 文本字段中,指定要运行的程序的完整路径(即 .sh 文件的完整路径:/Users/jayjapra/IdeaProjects/MazePilot/mazefire-recreate-db.sh)。

    Parameters - 是你的程序(脚本)的参数(如果有的话),即.../recreate-db.sh -arg1 -arg2 etc 我想你没有。

    工作目录将启动程序(脚本)的当前目录。 有关每个选项的说明,请参阅 Edit tool dialog 的文档。

    附:您确定要在每次启动 Tomcat 并将应用程序部署到服务器时重新创建数据库吗?这是 IDE 在您每次启动时都会执行的操作,具体取决于您的设置。

    【讨论】:

    • 感谢@andrey 我使用/Users/jayjapra/IdeaProjects/MazePilot/ 作为工作目录,它执行了构建。不幸的是,数据库似乎仍未创建。如前所述,我尝试了 JDBC 设置,但遇到了很多错误,主要是“com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接故障”,我想我无法弄清楚许多可能的错误问题 [stackoverflow.com/questions/2983248/…
    • 确保指定正确的主机和端口,并且远程数据库正在运行并且配置为接受该端口上的连接。如果连接问题仍然存在,请写信给intellij-support.jetbrains.com/hc/en-us/requests/new,以检查您在数据库连接设置中输入的参数。
    • 我的主机是通过 aws 的,我的端口是默认的 3306,我可以通过 MySQL Workbench 和 IntelliJ Database Tool 窗口远程连接这些设置。即使这些工作正常,在使用上述设置运行构建时,我也会收到“通信错误”。我是否应该为此发布一个不同的问题,因为它与 JDBC 而不是脚本有关?
    猜你喜欢
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 2012-04-23
    • 2019-05-15
    • 1970-01-01
    • 2013-08-30
    • 2013-08-20
    相关资源
    最近更新 更多