首先,查看mysqld服务的日志文件,确认故障原因。在Amazon-linux -2上,日志文件位于/var/log/mysqld.log。使用以下命令查看日志文件:
sudo less /var/log/mysqld.log
如果日志文件中显示配置文件存在问题,可以考虑修改mysqld配置文件。在Amazon-linux -2上,配置文件位于/etc/my.cnf。使用以下命令编辑文件:
sudo vi /etc/my.cnf
可以参考以下示例修改配置文件:
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql symbolic-links=0 max_connections=500 max_user_connections=100 key_buffer=128M myisam_sort_buffer_size=64M join_buffer_size=1M read_buffer_size=1M sort_buffer_size=2M table_open_cache=4000 thread_cache_size=128 wait_timeout=60 connect_timeout=10 max_allowed_packet=256M innodb_file_per_table=1 innodb_buffer_pool_size=512M innodb_additional_mem_pool_size=64M innodb_log_file_size=64M innodb_thread_concurrency=8 innodb_flush_log_at_trx_commit=1 log-error=/var/log/mysqld.log
注意:以上仅是示例配置文件,具体参数值请根据服务器硬件配置、MySQL版本等调整。
保存修改后,重新启动mysqld服务:
sudo service mysqld restart
如果重启失败,可以使用以下命令手动启动mysqld服务,并查看运行日志:
sudo /usr/sbin/mysqld --defaults-file=/etc/my.cnf --basedir=/usr --datadir=/var/lib/mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock --user=mysql
如果