MySql 未获取自定义 Ubuntu AMI 上对 my.cnf 文件的更改。如何解决此问题?

MySql 未获取自定义 Ubuntu AMI 上对 my.cnf 文件的更改。如何解决此问题?

我从正在运行的 EC2 Ubuntu 实例创建了一个 AMI。然后我启动它,但 MySql 在这个复制的实例上并没有以相同的方式运行。

1)我的my.cnf文件的更改没有被采纳。

2)我无法查询我的数据库,因为它给出了以下错误:

ERROR 1286 (42000): Unknown table engine 'InnoDB'

我猜 MySql 配置不正确?我是 MySql 新手,你能告诉我我做错了什么吗?

提前致谢。

答案1

检查 /var/log/syslog 以查找 MySQL 启动期间发生的任何错误。您的 /etc/mysql/my.cnf 文件可能包含 skip-innodb 语句,该语句将禁用 InnoDB 表。

答案2

我了解到(经过几个小时的故障排除)如果您的设置出现问题,则所有设置都不会更新。

例如,在我的例子中,复制被破坏了。然而,

Slave_IO_Running: No
Slave_SQL_Running: No

显示为“否”,主主机的名称也没有更新,而我在 .cnf 文件中已更改了该名称。此外,我的 .cnf 文件中未设置 skip-innoDB,但 innoDB 仍未启用。这让我怀疑问题与 .cnf 文件有关。

但事实证明这是两件不同的事情。

由于内存不足,InnoDB 无法启动。我分配的内存超过了新 EC2 实例提供的内存。这是创建图像的一课:注意您正在创建的实例的大小。

第二个问题是复制没有出现。这是因为我没有:

重置从站

然后进行适当修改:

主日志位置

我在另一个 SF 问题上找到了答案:

为什么 MySQL 复制如此复杂?

那里发布的指南非常棒,可以作为答案。

我在位于以下位置的 SQL 日志中获得了指向所有这些内容的指针:

/var/log/mysql/error.log

它有以下条目:

InnoDB: Error: cannot allocate 1048592384 bytes of

InnoDB: memory with malloc! Total allocated memory

InnoDB: by InnoDB 38079360 bytes. Operating system errno: 12

InnoDB: Check if you should increase the swap file or

InnoDB: ulimits of your operating system.

InnoDB: On FreeBSD check you have compiled the OS with

InnoDB: a big enough maximum process size.

InnoDB: Note that in most 32-bit computers the process

InnoDB: memory space is limited to 2 GB or 4 GB.

InnoDB: We keep retrying the allocation for 60 seconds...

InnoDB: Fatal error: cannot allocate the memory for the buffer pool

110616 18:41:58 [ERROR] Plugin 'InnoDB' init function returned error.

110616 18:41:58 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

110616 18:41:58 [Warning] Neither --relay-log nor --relay-log-index were used; so replication may break when this MySQL server acts as a slave and has his hostname changed!! Please use '--relay- log=ip-xxxx-relay-bin' to avoid this problem.

110616 18:41:58 [ERROR] Failed to open the relay log 'xxxx' (relay_log_pos 251)

110616 18:41:58 [ERROR] Could not find target log during relay log initialization

110616 18:41:58 [ERROR] Failed to initialize the master info structure

我真的希望这有一天能帮助到某人!

相关内容