【问题标题】:Git Bash mysql blankGit Bash mysql 空白
【发布时间】:2015-12-13 18:03:45
【问题描述】:

我已经从 www.git-scm.com 安装了 Git (bash?) 我也有一个有效的 MySQL 安装。我正在使用 Windows 8.1。我的 mysql bin 目录的路径在我的 path 环境变量中,并且 mysql 服务正在运行。

如果我打开 cmd.exe 并输入mysql -u root 然后它会成功登录,我会收到“欢迎使用 mysql 监视器”消息,我可以开始输入 sql。

但是在 Git bash 中,如果我输入 mysql -u root,那么它只会启动一个新的空白链接并且不会执行任何操作。

如果我输入mysql -?,那么我仍然会得到 mysql 帮助信息。如果我输入mysql start,我会得到Access denied for user ''@'localhost' to database 'start'

如何在 git bash 中正确访问 mysql?

请在下面查看我的粗略图片来解释我的情况:

【问题讨论】:

  • 听起来它实际上已经启动了 mysql 客户端,但终端的行为与登录没有 TTY(非交互式会话)时的行为方式相同。如果您在空行上键入查询并正确终止它,MySQL 可能会产生一些输出,就好像它正在从标准输入读取流一样。我对 git bash 了解不多,但建议如何纠正。
  • 感谢您的评论,不幸的是我也是 git bash 的初学者,并且正在努力简化我的环境!我会继续努力的。
  • 如果 git-bash 是基于 MinGW 的,你可能会看到 code.google.com/p/mintty/issues/detail?id=158 的症状,对不起,我不知道更多来确认它。
  • 听起来确实是个问题。我暂时在 git-bash 和 cmd 之间切换。感谢您的帮助:)
  • 同上。在 git 控制台中没有密码,我得到“错误 1045(28000):用户访问被拒绝......”正如预期的那样。使用正确的密码,什么都不会发生。在 Windows 命令提示符下工作正常。我相信这可能是一个 git 控制台设置,但我不能说是哪个。我不记得在以前的 git 控制台版本上发生过这种情况。

标签: mysql git-bash


【解决方案1】:

我在使用 git bash 和 mysql 时遇到了同样的问题,解决方法是使用

winpty mysql -u root

我猜这是因为你正在为 windows 运行 mysql,使用 unix 环境,据我所知,winpty 应该用于在 git bash 中运行 windows 应用程序(不是 100% 肯定,也许有人可以确认)。

【讨论】:

  • 谢谢!这有帮助。如果您在 ~/.bashrc 中添加以下行,则每次启动 mysql 控制台时都不必输入“winpty”:alias mysql="winpty mysql"
  • 谢谢!当您需要导入文件时,请执行以下操作: use database_name;源路径/to/file.sql;
  • 哇,我从来没有听说过这个,它真的很有帮助!
  • 这行得通,但是它没有给你像 Ctrl+r 这样的 linux 特性来查看历史。 Ctrl+A(回家)。这与调用 windows cmd 一样好。有没有办法像 bash 提示一样工作。
  • 天啊。花费大量时间寻找答案。我登录 SO 只是为了给我 +1。谢谢!
【解决方案2】:

其他用户也面临该问题的快速修复:

您可以创建一个 .bash_profile 来配置 git bash,默认情况下始终使用 winpty

cd ~ && echo "alias mysql=\"winpty mysql\"" > .bash_profile

如果您的用户文件夹中已有.bash_profile,请改用此命令:

cd ~ && echo "alias mysql=\"winpty mysql\"" >> .bash_profile

【讨论】:

    【解决方案3】:

    在 Windows 桌面中使用此目的地创建快捷方式:

    "C:\Program Files\Git\usr\bin\mintty.exe" -e "C:\Program Files\Git\usr\bin\winpty.exe" "C:\Program Files (x86)\MariaDB 10.1\bin\mysql.exe" -uroot -p

    【讨论】:

    • 你能解释一下吗?
    • 如果您使用本地用户帐户(非管理员)安装,这也可以:C:\Users\[username]\AppData\Local\Programs\Git\usr\bin\mintty.exe -e "C:\Users\[username]\AppData\Local\Programs\Git\usr\bin\winpty.exe" "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql.exe" -uroot -p(注意 MySQL 或 MariaDB 路径和版本,并且必须更新 windows 用户名)
    • 这个解决方案效果很好,您可以使用 ctrl- 和 ctrl+ 来放大或缩小文本大小。 "fullfolder\mintty.exe" -e "fullfolder\winpty.exe" "fullfolder\mysql.exe" -uroot -p
    • 由于某种原因,我的窗口一打开就关闭了……这是最近的。想知道防病毒软件是否在干扰
    • 不适合我。我得到了和伊格纳西奥一样的东西。
    【解决方案4】:

    我之前也遇到过同样的问题...... 只需使用简单的 cammand:

    winpty mysql -u root -p
    

    然后按回车,终端要求输入密码,输入你的密码然后连接,bash到mysql服务器。

    【讨论】:

      猜你喜欢
      • 2016-10-09
      • 2010-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多