Mysql服务器未在从AMI创建的EC2实例上运行
我有一个EC2实例,其中Mysql服务器工作正常。我从这个AMI创建了一个AMI,并从这个AMI启动了一个新实例。现在Mysql服务器根本无法在这个新的AMI上启动 以下是o/p:Mysql服务器未在从AMI创建的EC2实例上运行,mysql,amazon-web-services,amazon-ec2,amazon-ami,apparmor,Mysql,Amazon Web Services,Amazon Ec2,Amazon Ami,Apparmor,我有一个EC2实例,其中Mysql服务器工作正常。我从这个AMI创建了一个AMI,并从这个AMI启动了一个新实例。现在Mysql服务器根本无法在这个新的AMI上启动 以下是o/p: ubuntu@ip-172-31-66-160:~$ sudo service mysql status ● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; ve
ubuntu@ip-172-31-66-160:~$ sudo service mysql status
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: activating (start-post) (Result: exit-code) since Sun 2019-07-21 20:59:25 IST; 28s ago
Process: 1870 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
Process: 1862 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 1870 (code=exited, status=1/FAILURE); : 1871 (mysql-systemd-s)
Tasks: 2
Memory: 3.2M
CPU: 247ms
CGroup: /system.slice/mysql.service
└─control
├─1871 /bin/bash /usr/share/mysql/mysql-systemd-start post
└─2529 sleep 1
Jul 21 20:59:25 ip-172-31-66-160 systemd[1]: mysql.service: Service hold-off time over, scheduling restart.
Jul 21 20:59:25 ip-172-31-66-160 systemd[1]: Stopped MySQL Community Server.
Jul 21 20:59:25 ip-172-31-66-160 systemd[1]: Starting MySQL Community Server...
Jul 21 20:59:26 ip-172-31-66-160 systemd[1]: mysql.service: Main process exited, code=exited, status=1/FAILURE
ubuntu@ip-172-31-66-160:~$ sudo service mysql restart
Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
我什么都试过了,但没能开始
最近的线索,我遇到了,并遵循没有任何运气:
请帮忙,我对此一无所知。最后,我能够让服务器在我的新实例上运行。我所缺少的是mysql还有很多配置选项,这些选项会随着时间的推移而改变,并且它们还依赖于EC2实例配置 在我的例子中,我的新实例的RAM非常有限,mysql.cnf文件试图分配比机器更多的RAM,因此失败了。不知怎的 journalctl-xe 这是一个不同的错误,迫使我往错误的方向思考。我应该查看mysql日志文件,它很快就为我指出了正确的问题 我在错误日志文件中找到以下帮助我隔离/修复问题的内容:
2019-07-21T16:00:55.658985Z 0 [ERROR] InnoDB: mmap(137428992 bytes) failed; errno 12 2019-07-21T16:00:55.658993Z 0 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2019-07-21T16:00:55.658998Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2019-07-21T16:00:55.659003Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2019-07-21T16:00:55.659620Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2019-07-21T16:00:55.659628Z 0 [ERROR] Failed to initialize builtin plugins.
2019-07-21T16:00:55.659632Z 0 [ERROR] Aborting
所以mysql无法启动,因为系统中没有请求的内存量。我注释了my.cnf文件中的所有内存分配行(取决于默认设置),然后它就工作了
innodb_buffer_pool_size = 16G
key_buffer_size = 2G
max_allowed_packet = 128M
group_concat_max_len = 50000
query_cache_size = 2147483648
query_cache_limit =67108864
希望有人会发现此信息有用。您是如何解决此问题的?那会很有用的。用解决方案更新了我的答案。