我阅读了很多帖子和手册,试图找出如何在 Ubuntu 上的 MySQL 5.6 中增加内存,其中说有 3 种方法:
- 通过编辑 my.cnf 中的 innodb_buffer_pool_size
- 通过启动 MySQL 时的命令行选项
- 使用 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;