我想用SSH将一个sql.gz文件插入我的数据库.我该怎么办?

例如,我有一个名为numbers.sql.gz的电话号码数据库,这是什么类型的文件,如何将此文件导入数据库?

推荐答案

该文件是一个压缩的SQL文件,几乎可以肯定是一个带有.sql作为它的扩展.您需要做的第一件事是通过scp将文件复制到数据库服务器..I think PuTTY's is pscp.exe

# Copy it to the server via pscp
C:\> pscp.exe numbers.sql.gz user@serverhostname:/home/user

然后用SSH连接到服务器并用gunzip解压文件

user@serverhostname$  gunzip numbers.sql.gz
user@serverhostname$  ls 

numbers.sql

最后,使用<输入重定向操作符将其导入MySQL数据库:

user@serverhostname$  mysql -u mysqluser -p < numbers.sql

如果是数字.sql文件不会创建数据库,但希望数据库已经存在,您还需要在命令中包含该数据库:

user@serverhostname$  mysql -u mysqluser -p databasename < numbers.sql

如果您能够从外部直接连接到MySQL服务器,那么您可以使用本地MySQL客户端,而不必复制和SSH.在这种情况下,您只需要一个可以解压缩的实用程序.Windows上的gz文件.我相信7zip可以做到这一点,或者你可以获得Windows版的gzip/gunzip binaries.

Mysql相关问答推荐

在mySQL中使用子查询和WHERE子句的JOIN

正则表达式转换为MYSQL格式

当日期附加到MySQL后,如何按日期说明排序?

约会时的意外行为

在MySQL和JavaFX中保存和检索图像文件

亚马逊RDS MySQL-无法';t执行';使用读取锁定刷新表';

发生的原因及解决方法

MySQL 可以用于将列表排序为三分之三吗?

基于其列之一内的值查询模型

mysql数据库数据文件夹中的DESKTOP-7JFP5MF-bin.000001文件有什么用?

MySQLi count(*) 总是返回 1

Laravel $q->where() 日期之间

MySQL:将日期时间插入其他日期时间字段

如何查看打开了多少 MySQL 连接?

在 WHERE 子句中使用 CASE

Amazon RDS Aurora 与 RDS MySQL 与 EC2 上的 MySQL?

ASP.NET EntityFramework 获取数据库名称

NodeJS/mySQL - ER_ACCESS_DENIED_ERROR 用户'root'@'localhost'的访问被拒绝(使用密码:是)

在osx的命令行中使用Mysql-找不到命令?

MySQL 更新连接表