所以我对调整 InnoDB 还很陌生。我正在慢慢地将表(在必要时)从 MyIsam 更改为 InnoDB。我在 innodb 中有大约 100MB,所以我将innodb_buffer_pool_size变量增加到 128MB:
mysql> show variables like 'innodb_buffer%';
+-------------------------+-----------+
| Variable_name | Value |
+-------------------------+-----------+
| innodb_buffer_pool_size | 134217728 |
+-------------------------+-----------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
当我去更改innodb_log_file_size值时(例如mysql 的 innodb 配置页面上的my.cnf注释将日志文件大小更改为缓冲区大小的 25%。所以现在我的 my.cnf 看起来像这样:
# innodb
innodb_buffer_pool_size = 128M
innodb_log_file_size = 32M
Run Code Online (Sandbox Code Playgroud)
当我重新启动服务器时,出现此错误:
110216 9:48:41 InnoDB:初始化缓冲池,大小 = 128.0M
110216 9:48:41 InnoDB:缓冲池初始化完成
InnoDB:错误:日志文件 ./ib_logfile0 的大小不同 0 5242880 字节
InnoDB:比指定的.cnf 文件 0 33554432 字节!
110216 9:48:41 [错误] …
我真的需要一些 mysql 专业知识。我是 mysql 的新手,在过去的 1 周内,我看到我的数据库发生了一些服务器崩溃。
我在 Ubuntu 上使用 mysql 5.1.36。这是一个专用的 mysql 服务器,具有双核和 4GB 内存和 40GB SSD。
日志错误是:
120413 23:57:15 [Note] Plugin 'FEDERATED' is disabled.
120413 23:57:15 [Warning] option 'innodb-autoextend-increment': unsigned value 2000 adjusted to 1000
120413 23:57:15 InnoDB: Initializing buffer pool, size = 2.9G
120413 23:57:15 InnoDB: Completed initialization of buffer pool
120413 23:57:16 InnoDB: Started; log sequence number 0 44234
120413 23:57:16 [Note] Event Scheduler: Loaded 0 events
120413 23:57:16 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.1.58-1ubuntu1-log' …Run Code Online (Sandbox Code Playgroud) 我在这里遵循这个解决方案/sf/ask/274938331/#comment14041132_4056261并试图增加我innodb_buffer_pool_size的 4G 和更高的 1G(也是 1024M)除了日志文件大小之外,mysql 不会从这些值开始。如果我把它放回 512M mysql 启动就好了。
我该如何解决这个问题?我的服务器是 16GB 的,根据 Webmin sysinfo:
Real memory 15.62 GB total, 3.13 GB used
Run Code Online (Sandbox Code Playgroud)
同时我也发现了错误日志:
120529 10:29:32 来自 pid 文件/var/run/mysqld/mysqld.pid 的 mysqld_safe mysqld 结束
120529 10:29:33 mysqld_safe 使用 /var/lib/mysql 中的数据库启动 mysqld 守护进程
120529 10:29:33 [注意] 插件“联邦”被禁用。
120529 10:29:33 InnoDB:InnoDB 内存堆被禁用
120529 10:29:33 InnoDB:互斥锁和 rw_locks 使用 GCC 原子内置函数
120529 10:29:33 InnoDB:压缩表使用 zlib 1.2.3
120529 10:29:33 InnoDB:使用 Linux 原生 AIO
120529 10:29:33 InnoDB:初始化缓冲池,大小 = 1.0G
120529 10:29:33 InnoDB:缓冲池初始化完成
InnoDB:错误:日志文件 ./ib_logfile0 …