gpt4 book ai didi

mysql - 有没有办法在 Apache Instance on Scale 之前启动 MySQL Instance?

转载 作者:行者123 更新时间:2023-11-29 03:12:52 25 4
gpt4 key购买 nike

我正在使用 Scalr 来扩展网站服务器。

在 Apache 服务器上,我安装了 Sakai,并为 Linux 机器创建了一个启动脚本。

问题是,如何确保MySQL实例在Apache服务器启动之前启动并运行,因为如果Apache服务器先启动,那么运行Sakai的连接就会失败,这会导致各种问题的问题。

如何确保实例以我需要的方式启动?我还是 Scalr 的新手,所以我们将不胜感激。

谢谢

最佳答案

如果您自己编写了 Apache 启动脚本,则可以检查数据库实例是否已在运行。

您可以包含一个简单的等待循环:

MYSQL_OK=1
while ["$MYSQL_OK" -ne 0] ; do
echo "SELECT version();" | mysql -utestuser -ptestpassword testdb
MYSQL_OK=$?
sleep 5
done

显然你必须在 Mysql 中创建一些测试用户和测试数据库:

CREATE DATABASE testdb;
GRANT USAGE,SELECT ON testdb.* TO 'testuser'@'localhost' IDENTIFIED BY 'testpassword';
FLUSH PRIVILEGES;

只需将 while 循环放在脚本开始部分的某处。如果您的系统是某种 Redhat 系统,您会注意到启动脚本/etc/init.d/httpd 有这样一行:

Required-Start: $local_fs $remote_fs $network $named

如果将 $mysqld 添加到该行,Apache 将在启动前坚持运行 mysqld:

Required-Start: $local_fs $remote_fs $network $named $mysqld

但缺点是Apache启动会失败而不是等待运行mylsqd。

祝你好运,亚历克斯。

关于mysql - 有没有办法在 Apache Instance on Scale 之前启动 MySQL Instance?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5506821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com