1

我尝试按照此处所述配置mysql:https ://websiteforstudents.com/install-erpnext-erp-platform-on-ubuntu-16-04-18-04-lts-with-nginx-mariadb-support/在Linux上薄荷 18.2 系统。

我添加innodb-file-format=barracuda到该[mysqld]部分/etc/mysql/mariadb.conf.d/50-server.cnf并重新启动了 mysql 服务。但是这些设置不起作用。

如果我运行以下命令

sudo mysql -u root -p
SHOW VARIABLES LIKE 'innodb_file_format';

然后我得到以下输出。

+--------------------+----------+
| Variable_name      | Value    |
+--------------------+----------+
| innodb_file_format | Antelope |
+--------------------+----------+

设置文件~/.my.cnf不存在。为什么我的设置不起作用?

++++++++++++ 更新 2019-06-03 ++++++++++++

我想我现在发现了问题。/etc/mysql/mariadb.conf.d/50-server.cnf是正确的日志文件,并且设置没有被另一个文件覆盖*.cnf。重新启动 PC 后,使用更改的设置。问题是,重启 mysql 服务(sudo service mysql restartsudo /etc/init.d/mysql restart)是不够的。

所以问题应该是:

如何正确重启 mysql 以使*.cnf-files 中的更改生效?

4

2 回答 2

0

不要这样做:

systemctl restart mysqld

相反,请执行以下操作:

systemctl stop mysqld
systemctl start mysqld

不确定 Debian 的“服务”命令的语法是什么,但我相信这只是 systemctl 的一个包装。语法应该很容易找到。当然,如果您的系统使用不同的东西,请更改服务名称。我发现对于某些服务,重新启动似乎不会重新读取配置文件,而停止然后启动会强制重新加载和读取配置文件。

于 2020-03-21T14:35:16.970 回答
0

首先,您应该尝试my.cnf在其他位置找到,例如

如何找到 MySQL my.cnf 位置

如果运气不好,请扫描所有*.cnf文件,/etc/mysql/mariadb.conf.d/因为 Mariadb 可能会将所有文件都读取*.cnf为该文件夹中的配置

因此,您可以在 上添加此值50-server.cnf,但它会在另一个文件中被覆盖

希望这可以帮助

于 2019-06-22T17:43:11.917 回答