找不到 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
关于 Can't connect to MySQL server on 'localhost' (10061) 的一个解决方案
初次安装MySQL出现Can’t connect to MySQL server on ‘localhost’ (10061)