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

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

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

  2. 我的最终目标是能够访问我在 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)

提前致谢!

【问题讨论】:

    标签: python mysql macos jupyter-notebook


    【解决方案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
    • 找到问题的解决方案:stackoverflow.com/questions/22436028/…。对于 MAMP 用户,打开终端并将以下内容粘贴到终端 ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock
    猜你喜欢
    • 2014-09-09
    • 1970-01-01
    • 2020-12-07
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多