如何在 Ubuntu 上永久增加 innodb_buffer_pool_size

如何在 Ubuntu 上永久增加 innodb_buffer_pool_size

我阅读了很多帖子和手册,试图找出如何在 Ubuntu 上的 MySQL 5.6 中增加内存,其中说有 3 种方法:

  1. 通过编辑 my.cnf 中的 innodb_buffer_pool_size
  2. 通过启动 MySQL 时的命令行选项
  3. 使用 SQL 命令动态地进行。

我假设 MySQL 重新启动时 2 和 3 将会丢失,只剩下 1。

问题是,我的 /etc/mysql/my.conf 中没有这样的设置。

字符串“inno”在 conf 文件中不存在,字符串“buffer_size”或“buffer-size”也不存在(但“key_buffer”在其中)。

我通过以下方式安装它:

# apt-get install mysql-server-5.6 

有什么想法我可以在哪里改变价值?

我是否以某种方式安装了没有 InnoDB 引擎的 MySQL?

我是不是查找了错误的文件?

/etc/mysql 下还有一些其他 .cnf 文件,但它们中也没有类似 innodb 的内容。

mysql> show variables like 'inno%'
:
innodb_buffer_pool_size                  | 134217728              |

因此看起来 InnoDB 已经安装了,我只是找不到它的配置文件在哪里。

任何帮助均感激不尽。

答案1

这对我有用(ubuntu 19,mysql 8):

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

在文件底部添加此内容

innodb_buffer_pool_size        = 8G

保存并退出。重新启动 MySQL。

sudo systemctl restart mysql

答案2

问题是,我的 /etc/mysql/my.conf 中没有这样的设置。

因此,将所需的行添加到[mysqld]配置文件的部分。默认my.cnf文件仅包含可用配置值的一小部分。

答案3

在终端中写入以下命令:

root:$cd /etc/mysql/
root:/etc/mysql$ sudo gedit my.cnf

在文件末尾添加此内容(2 GiB)

[mysqld]
innodb_buffer_pool_size = 2147483648

重新启动 apache/mysql

root:~$ sudo service mysql restart
root:~$ sudo service apache2 restart

答案4

在 Ubuntu 20.04 LTS 上这对我来说是有用的:

/etc/mysql/conf.d/mysql.cnf

添加如下内容[mysql]

[mysqld]

innodb_buffer_pool_size=1G

然后重新启动mysql:

sudo systemctl restart mysql

进入mysql查看结果:

sudo mysql
SELECT @@innodb_buffer_pool_size/1024/1024/1024;

相关内容