【问题标题】:import database through cmd in linuxlinux下通过cmd导入数据库
【发布时间】:2015-09-23 16:09:37
【问题描述】:

我正在尝试通过 cmd 导入数据库文件,因为它的大小太大。

我试过以下命令,

/opt/lampp/bin $ mysql.exe -u root -p db_name

但它给了

mysql Ver 14.14 Distrib 5.5.43,用于 debian-linux-gnu (x86_64) 使用 readline 6.3 版权所有 (c) 2000, 2015,Oracle 和/或其附属公司。 保留所有权利。

并打开mysql命令的帮助。

我无法解决问题。 请帮忙

【问题讨论】:

  • 你有一个~丢在那里,删除它
  • m 使用它作为 file.sql 的路径我只将我的文件保存在主目录中。
  • 所以如果我删除 ~ 那么它会给出错误 - 没有这样的文件或目录。
  • 然后使用绝对路径
  • 我试过了,它给出了不同的错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)跨度>

标签: mysql linux


【解决方案1】:

1.登录mysql终端并创建数据库说dbName(确保这个db名称与您正在导入的db相对应)

$mysql -u dbUser -p 
mysql> create database dbName;

这里 dbUser 必须替换为您的 db 用户名或“root”(这是最可能使用的),并且 dbName 必须替换为您的数据库名称。

同时检查数据库是否使用以下命令创建

mysql>show databases; 

2.退出终端并给出命令:

mysql>exit

$mysql -u dbUser -p dbName < '/full/path/to/sql_file.sql' 

3.进入sql提示,查看数据库是否存在,同时查看db是否全部导入。

$mysql -u dbUser -p 
mysql> show databases;
mysql> use dbName;
mysql> show tables;

【讨论】:

    【解决方案2】:

    使用SQL文件的完整路径filename.sql

    【讨论】:

      【解决方案3】:

      使用下面的cmd,确保sql文件路径正确,并且-后面没有空格:

      spawn mysql -u dbUser -h hName -pdbPass dbName < db_schema.sql
      

      【讨论】:

      • 感谢您的帮助。但它给出了错误,如 Python 错误: 是一个目录,无法继续
      • 你用什么工具来运行这个命令?你是在 python 解释器中运行它吗?确保您使用的是 Linux 终端
      • @user3890150: python 抛出的错误似乎不是 SQL 错误。您的py 代码一定有错误。
      • m 仅在终端中运行。解决办法是什么 ?我还是不明白。
      • 尝试运行一个只有一行的简单插入的 SQL 脚本,仅用于测试。确保脚本中使用了完整路径。尝试在没有 spawn 的情况下运行命令。
      猜你喜欢
      • 1970-01-01
      • 2012-04-10
      • 2013-04-21
      • 1970-01-01
      • 2019-06-29
      • 2022-01-26
      • 2014-08-06
      • 2012-08-10
      • 1970-01-01
      相关资源
      最近更新 更多