0

我正在打包一个使用 mysql 作为数据库的小型系统。该系统是用 PHP 制作的,并使用 Symfony 作为框架。

安装系统时我需要创建数据库、用户和流行。

该软件包具有所有依赖项,包括 mariadb-server 和 dbconfig-mysql。

试图按照教程 dbconfig-common,这是我的 DEBIAN/config

set -e
. /usr/share/debconf/confmodule

if [ -f /usr/share/dbconfig-common/dpkg/config.mysql ]; then
    . /usr/share/dbconfig-common/dpkg/config.mysql
    dbc_go kaya-rest "$@"
fi

php /etc/nerd4ever/kaya/back-end/bin/console doctrine:migration:migrate -q

我的存档包中也有它:/usr/share/dbconfig-common/data/kaya-rest/install/mysql(在阅读其他示例后创建

CREATE DATABASE IF NOT EXISTS kaya;
CREATE USER IF NOT EXISTS 'kaya'@'localhost' IDENTIFIED BY '<my_password>';
GRANT ALL PRIVILEGES ON kaya.* TO 'kaya'@'localhost';
FLUSH PRIVILEGES;

我预计在安装结束时已经创建了数据库、用户和密码,并且学说迁移已经填充了数据库,这一切都没有发生,安装也没有显示任何错误消息。

安装结束时的mysql状态停止。在安装包期间,我绝不会启动数据库。

4

1 回答 1

0

在未启动 MySQL 服务器时,SQL 将永远不会运行。CREATE DATABASE可能需要 MySQLroot密码。将其放入安装后脚本可能是不幸的,因为这些脚本并不真正意味着接受任何输入。

最好setup.sh在安装目录下放一个,可以运行。

PHP 应用程序中的大多数数据库设置都是基于 GUI 的。

于 2021-08-20T11:18:33.923 回答