找不到 mysql.server 命令和 jupyter notebook

Posted

技术标签:

【中文标题】找不到 mysql.server 命令和 jupyter notebook【英文标题】:mysql.server command not found and jupyter notebook 【发布时间】:2020-08-14 03:41:40 【问题描述】:

我的理解是,当我下载 MAMP 时,mysql 也会自动下载。

    我已将 bash_profile 中的 PATH 更改为“Applications/MAMP/Library/bin”,然后测试了“mysql --version”命令,该命令运行良好,但随后我尝试运行“mysql.服务器启动”它提示“找不到mysql.server命令”(sudo mysql.server结果相同)。我很困惑,因为显然找到了 mysql,否则“mysql --version”将不起作用。请帮我解决这个问题,谢谢!

    我的最终目标是能够访问我在 Jupyter Notebook 上的数据库。

    %load_ext sql没有错误;

    %sql mysql+mysqldb://myusername:fakepassword@localhost/company(MySQLdb._exceptions.OperationalError) (2002, "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)")

    鉴于上面的错误,我尝试了以下方法连接,也出现了错误:

  import mysql.connector
  db = mysql.connector.connect(
  host='localhost',
  user='myusername',
  passwd='fakepassword')

错误2003 (HY000): Can't connect to MySQL server on 'localhost' (61)

提前致谢!

【问题讨论】:

【参考方案1】:

mysql.server start 似乎是本机 MySQL 的命令。它不适用于 MAMP 的 MySQL。根据我在网上找到的,要启动 MAMP 的 MySQL 服务器,您可以使用 GUI(参见https://documentation.mamp.info/en/MAMP-Mac/First-Steps/)

据我了解,MAMP 似乎只能通过端口(而不是通过套接字)使 MySQL 可用。所以对于 jupyter notebook 尝试像这样添加端口号:

%sql mysql+mysqldb://myusername:fakepassword@localhost:33060/company 

对于 Python 代码,尝试像这样添加端口号:

import mysql.connector
db = mysql.connector.connect(
    host='localhost',
    port=33060,
    user='myusername',
    passwd='fakepassword'
)

如果 MAMP 中的端口号不同,请尝试使用其他端口。

【讨论】:

感谢您的回复。后一种方法在我添加端口后起作用。但是,即使添加了端口号,第一个也会返回相同的错误。我想让第一个工作的原因是因为我希望能够使用以下代码%%sql SELECT * FROM department 找到问题的解决方案:***.com/questions/22436028/…。对于 MAMP 用户,打开终端并将以下内容粘贴到终端 ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock

以上是关于找不到 mysql.server 命令和 jupyter notebook的主要内容,如果未能解决你的问题,请参考以下文章

mysql server5.7 找不到my.ini,只有my-default.ini

php操作mysql使用的socket

关于 Can't connect to MySQL server on 'localhost' (10061) 的一个解决方案

如何抑制 yfinance 的异常?

初次安装MySQL出现Can’t connect to MySQL server on ‘localhost’ (10061)

制作:c:找不到命令