我正试图将Bagisto添加到CNAMEshop
上的应用程序堆栈中,因此我添加了一个新的SQL数据库来在Docker Compose中托管它。
当我docker exec -it -u root my_php_container bash
并运行php artisan migrate
时,当它试图创建例程时,我会得到这个。
SQLSTATE[HY000]:一般错误:1419您没有SUPER权限,并且启用了二进制日志记录(您可能想要使用不太安全的log_bin_trust_funcion_creator变量(
我的docker组合容器如下所示:
mysql:
image: 'mysql:latest'
restart: 'unless-stopped'
expose:
- '3306'
environment:
- 'MYSQL_DATABASE=${MYSQL_DATABASE}'
- 'MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD}'
- 'MYSQL_USER=${MYSQL_USER}'
- 'MYSQL_PASSWORD=${MYSQL_PASSWORD}'
volumes:
- 'laravel-db:/var/lib/mysql/'
networks:
- 'laravel'
我查看了SO,但找不到与此相关的mysql docker映像的env。我尝试添加一个Entrypoint,它刚刚为log_bin_trust_function_creators=1
运行了一个导出,但没有成功。感谢您的帮助。
我正在运行Ubuntu 20.04
在运行docker exec -it -u root my_php_container bash
或php artisan migrate
之前执行此SET GLOBAL log_bin_trust_function_creators = 1;
。
为此,您必须以mysql用户身份登录,并在mysql终端中执行SET GLOBAL log_bin_trust_function_creators = 1;
。