我需要使用本地用户名和密码在AWS CodeDeploy示例上设置MariaDB,以便我的Laravel应用程序可以连接到它并完成测试。
这个buildspec完成了我想实现的大部分功能:
version: 0.2
phases:
install:
runtime-versions:
php: 8.2
commands:
- export DEBIAN_FRONTEND=noninteractive
#Update
- apt update -y
#Start Mysql if you need it
- apt install mariadb-server -y
- service mariadb start
#Install composer
- php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
- php composer-setup.php ;
- php -r "unlink('composer-setup.php');" ;
- mv composer.phar /usr/local/bin/composer
build:
commands:
- composer install
post_build:
commands:
- php artisan test --recreate-databases
我正在努力添加用户。
我需要运行sudo mariadb
然后在打开的MariaDb提示符中运行:
CREATE USER 'ROOT'@'%' IDENTIFIED BY '';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
但是我不知道如何告诉构建规范在打开的mariadb终端中运行这些SQL命令,而不是在它默认的 shell 中运行。我试过引用,新的行,在build specification documentation中找不到任何提示。
1条答案
按热度按时间r6l8ljro1#
我最终使用echo和管道操作符实现了这个功能:
注意:对于这个项目,我需要特权来创建其他用户-您可能需要一个限制性更强的GRANT语句。