【发布时间】:2015-10-27 12:50:33
【问题描述】:
我有一个服务器,在该服务器的 /var/www/ 目录中有一个 sql 脚本。该脚本用于创建表和数据库。我需要知道如何从终端或某些客户端执行此 sql 脚本,同时将文件保存在服务器上。
PS- 我不太了解这个主题的术语,所以我会研究其他关于我的方法的建议。
【问题讨论】:
标签: mysql database shell terminal
我有一个服务器,在该服务器的 /var/www/ 目录中有一个 sql 脚本。该脚本用于创建表和数据库。我需要知道如何从终端或某些客户端执行此 sql 脚本,同时将文件保存在服务器上。
PS- 我不太了解这个主题的术语,所以我会研究其他关于我的方法的建议。
【问题讨论】:
标签: mysql database shell terminal
@Tomislav 上面的回答是正确的,但我不喜欢用命令行选项写密码。
如果您没有创建新数据库并希望使用 .SQL 文件创建它,请使用以下语句。
mysql -h {YOUR_HOST} -u {USERNAME} -p
然后 MySQL CLI 将要求输入密码(防止任何人输入密码的最佳方法)。输入您的密码并按 Enter 键
如果您已经创建了数据库,请使用以下命令。
mysql -h {YOUR_HOST} -u {USERNAME} -p {DATABASE_NAME}
然后 MySQL CLI 将要求输入密码。输入您的密码并按 Enter 键
通常,.SQL 文件没有任何打印语句。所以你必须输入并检查你的 MySQL CLI。
【讨论】:
我猜是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"
【讨论】:
-e 的参数是有效的 SQL 语句,而不是路径。例如:mysql --host=127.0.0.1 --port=3306 --user=root --password=your_password -e "select 1;"
$ mysql -h "server-name" -u "your_username" -p "your_password" "database-name" < "filename.sql",你有什么想法吗?
试试这个:
mysql -u your_username -p your_password
use db_name
source <path_to_sql_file>/file.sql
【讨论】:
如果要为特定数据库运行 SQL 文件,请先选择该数据库:
mysql -u your_username -p your_password
use db_name
source <path_to_sql_file>/file.sql
【讨论】: