python 如何更新我的.cnf文件以增加innodb缓冲池大小?

thtygnil  于 2023-01-19  发布在  Python
关注(0)|答案(2)|浏览(136)

我正在尝试更新my.cnf文件,以增加缓冲池大小,用于通过mysql在python中运行的查询,因为我一直收到错误:

OperationalError: 2013 (HY000): Lost connection to MySQL server during query

现在我已经找到了该文件并获得:

/opt/homebrew/etc/my.cnf
/opt/homebrew/Cellar/mysql/8.0.30/.bottle/etc/my.cnf

现在,我试图找出如何更新这个文件。我已经阅读使用sudo命令,然后输入密码,我这样做,但我得到命令找不到。我假设我这样做是错误的。

sudo: /opt/homebrew/etc/my.cnf: command not found

任何帮助都将不胜感激。
在尝试执行nano命令后,我的屏幕给了我这个。所以让我相信这不是文件所在的位置。
这是执行此命令时看到的结果:
一个三个三个一个

t1rydlwq

t1rydlwq1#

更改my.cnf文件,如下所示:
启动一个终端并转到包含my.cnf文件的目录,在您的示例中,该目录位于/opt/homebrew/etc/my.cnf/opt/homebrew/Cellar/mysql/8.0.30/.bottle/etc/my.cnf
要使用nano文本编辑器打开文件,请使用sudo nano my.cnf。如果您以sudo身份登录,请尝试使用不带sudo的nano my.cnf
打开文件后,转到[mysqld]部分并添加以下行:value innodb buffer pool size(将value替换为所需的缓冲池大小(以字节为单位))
要保存修改,请使用Ctrl + O,要退出nano,请按Ctrl + X。
要使修改生效,请重新启动MySQL服务器。根据您的系统,您可以通过键入“sudo service mysql restart”或“sudo systemctl restart mysql”来执行此操作。
如果您不想使用nano,可以使用您选择的任何文本编辑器。

vqlkdk9b

vqlkdk9b2#

您发布的命令试图像运行程序一样运行my.cnf文件:

# NO!Do not do this.
sudo /opt/homebrew/etc/my.cnf

如果你想编辑一个文件,你可以使用像nano这样的程序来编辑这个文件:

sudo nano /opt/homebrew/etc/my.cnf

这将显示my.cnf文件的内容,您可以使用光标键移动并更改文件。请小心。在尝试更改之前,您可能需要备份文件。
当您满意时,按ctrl-o输出更改,然后按ctrl-x退出nano,然后按restart mysql使更改生效。
如果你不确定你的my.cnf文件在哪里,它可能很难找到。显然MySQL有时会加载多个my.cnf文件,每个文件覆盖最后一个。
您可能会发现此命令有助于在计算机的文件系统中查找所有名为“my.cnf”的文件:

sudo find / -name "my.cnf" 2>/dev/null

这里还有一个很酷的技巧here,它可以在我的ubuntu工作站上运行,但不一定适合你的macos环境,首先,找出mysqld在哪里:

which mysqld

在我的示例中,这将返回/usr/sbin/mysqld,我使用它来创建此命令:

/usr/sbin/mysqld --verbose --help | grep -A 1 "Default options"

该命令的输出列出了3个my.cnf文件位置。您的位置可能不同。

在对我的.CNF进行更改后,不要忘记重新启动MySQL。

相关问题