【问题标题】:Run sql file in database from terminal从终端运行数据库中的 sql 文件
【发布时间】:2015-10-27 12:50:33
【问题描述】:

我有一个服务器,在该服务器的 /var/www/ 目录中有一个 sql 脚本。该脚本用于创建表和数据库。我需要知道如何从终端或某些客户端执行此 sql 脚本,同时将文件保存在服务器上。

PS- 我不太了解这个主题的术语,所以我会研究其他关于我的方法的建议。

【问题讨论】:

    标签: mysql database shell terminal


    【解决方案1】:

    @Tomislav 上面的回答是正确的,但我不喜欢用命令行选项写密码。

    1. 如果您没有创建新数据库并希望使用 .SQL 文件创建它,请使用以下语句。

      mysql -h {YOUR_HOST} -u {USERNAME} -p

    然后 MySQL CLI 将要求输入密码(防止任何人输入密码的最佳方法)。输入您的密码并按 Enter 键

    1. 如果您已经创建了数据库,请使用以下命令。

      mysql -h {YOUR_HOST} -u {USERNAME} -p {DATABASE_NAME}

    然后 MySQL CLI 将要求输入密码。输入您的密码并按 Enter 键

    通常,.SQL 文件没有任何打印语句。所以你必须输入并检查你的 MySQL CLI。

    【讨论】:

      【解决方案2】:

      我猜是MYSQL。要从 Unix / Linux 环境运行它,您必须这样做:

      $ mysql -h "server-name" -u "your_username" -p "your_password" "database-name" < "filename.sql"
      

      还有一种方法:

      mysql --host=localhost --user=your_username --password=your_password  -e "filename.sql"
      

      【讨论】:

      • 如果我的sql脚本需要创建数据库怎么办?那么,我将如何为该命令行使用数据库名称?
      • 试试这个:mysql -uyour_username -pyour_password
      • 第二种方法对我不起作用,-e 的参数是有效的 SQL 语句,而不是路径。例如:mysql --host=127.0.0.1 --port=3306 --user=root --password=your_password -e "select 1;"
      • 我的MySQL没有回复$ mysql -h "server-name" -u "your_username" -p "your_password" "database-name" &lt; "filename.sql",你有什么想法吗?
      • @Tomislav 我同意你的回答,但是在命令行中一起写密码是个坏主意。如果你只留下-p而不写密码,那么系统会要求你输入密码。
      【解决方案3】:

      试试这个:

      mysql -u your_username -p your_password
      
      use db_name
      
      source <path_to_sql_file>/file.sql
      

      【讨论】:

      • 我在“source”命令之前选择了一个数据库:“use ”。然后“源 /file.sql”
      【解决方案4】:

      如果要为特定数据库运行 SQL 文件,请先选择该数据库:

      mysql -u your_username -p your_password
      
      use db_name
      
      source <path_to_sql_file>/file.sql
      

      【讨论】:

        猜你喜欢
        • 2013-11-22
        • 1970-01-01
        • 2017-09-07
        • 2015-07-25
        • 1970-01-01
        • 1970-01-01
        • 2014-04-12
        • 2020-05-09
        • 2016-12-26
        相关资源
        最近更新 更多