首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql的Laravel 9帆端口正向误差

mysql的Laravel 9帆端口正向误差
EN

Stack Overflow用户
提问于 2022-08-31 05:04:18
回答 1查看 81关注 0票数 0

我已经将应用程序mysql端口转发到3307,因为我需要我的主机mysql继续在3306上运行,但是它会出现以下错误。

此外,在运行sail up之后,我还可以获得欢迎页面

我用的是laravel 9最新版本

错误

代码语言:javascript
复制
Illuminate\Database\QueryException

PHP 8.1.9
9.26.1

SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for mysql failed: Temporary failure in name resolution

SELECT count(*) AS aggregate FROM `users` WHERE `email` = test@test.com

.env

代码语言:javascript
复制
APP_URL=http://127.0.0.1
APP_PORT=81

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
FORWARD_DB_PORT=3307

docker-composer.yml

代码语言:javascript
复制
# For more information: https://laravel.com/docs/sail
version: '3'
services:
    laravel.test:
        build:
            context: ./vendor/laravel/sail/runtimes/8.1
            dockerfile: Dockerfile
            args:
                WWWGROUP: '${WWWGROUP}'
        image: sail-8.1/app
        extra_hosts:
            - 'host.docker.internal:host-gateway'
        ports:
            - '${APP_PORT:-81}:80'
            - '${VITE_PORT:-5174}:${VITE_PORT:-5173}'
        environment:
            WWWUSER: '${WWWUSER}'
            LARAVEL_SAIL: 1
            XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
            XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
        volumes:
            - '.:/var/www/html'
        networks:
            - sail
        depends_on:
            - mysql
    mysql:
        image: 'mysql/mysql-server:8.0'
        ports:
            - '${FORWARD_DB_PORT:-3307}:3306'
        environment:
            MYSQL_ROOT_PASSWORD: '{DB_PASSWORD}'
            MYSQL_ROOT_HOST: '{DB_HOST}'
            MYSQL_DATABASE: '{DB_DATABASE}'
            MYSQL_USER: '{DB_USERNAME}'
            MYSQL_PASSWORD: '{DB_PASSWORD}'
            MYSQL_ALLOW_EMPTY_PASSWORD: 1
        volumes:
            - 'sail-mysql:/var/lib/mysql'
            - './vendor/laravel/sail/database/mysql/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh'
        networks:
            - sail
        healthcheck:
            test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"]
            retries: 3
            timeout: 5s
networks:
    sail:
        driver: bridge
volumes:
    sail-mysql:
        driver: local

更新1

我的终端输出如下

代码语言:javascript
复制
sm_v2-laravel.test-1   "start-container"   laravel.test        exited (0)          
Shutting down old Sail processes...
[+] Running 0/1
 ⠙ Network sm_v2_sail  Creating                                                                                      0.2s
[+] Running 3/3d orphan containers ([sm_v2-service-1]) for this project. If you removed or renamed this service in your co ⠿ Network sm_v2_sail              Created                                                                           0.2s
 ⠿ Container sm_v2-mysql-1         Created                                                                           1.5s
 ⠿ Container sm_v2-laravel.test-1  Created                                                                           0.5s
Attaching to sm_v2-laravel.test-1, sm_v2-mysql-1
sm_v2-mysql-1         | [Entrypoint] MySQL Docker Image 8.0.30-1.2.9-server
sm_v2-mysql-1         | [Entrypoint] Starting MySQL 8.0.30-1.2.9-server
sm_v2-mysql-1         | 2022-08-30T15:19:04.087084Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
sm_v2-mysql-1         | 2022-08-30T15:19:04.092964Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.30) starting as process 1
sm_v2-mysql-1         | 2022-08-30T15:19:04.148193Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
sm_v2-mysql-1         | 2022-08-30T15:19:04.303213Z 1 [ERROR] [MY-012960] [InnoDB] Cannot create redo log files because data files are corrupt or the database was not shut down cleanly after creating the data files.
sm_v2-mysql-1         | 2022-08-30T15:19:04.755173Z 1 [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine
sm_v2-mysql-1         | 2022-08-30T15:19:04.755609Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
sm_v2-mysql-1         | 2022-08-30T15:19:04.755681Z 0 [ERROR] [MY-010119] [Server] Aborting
sm_v2-mysql-1         | 2022-08-30T15:19:04.757223Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.30)  MySQL Community Server - GPL.
sm_v2-mysql-1 exited with code 1
sm_v2-laravel.test-1  | 2022-08-30 15:19:07,746 INFO Set uid to user 0 succeeded
sm_v2-laravel.test-1  | 2022-08-30 15:19:07,751 INFO supervisord started with pid 1
sm_v2-laravel.test-1  | 2022-08-30 15:19:08,756 INFO spawned: 'php' with pid 16
sm_v2-laravel.test-1  | 2022-08-30 15:19:09,759 INFO success: php entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
sm_v2-laravel.test-1  | 
sm_v2-laravel.test-1  |    INFO  Server running on [http://0.0.0.0:80].  
sm_v2-laravel.test-1  | 
sm_v2-laravel.test-1  |   Press Ctrl+C to stop the server
sm_v2-laravel.test-1  | 
sm_v2-laravel.test-1  |   2022-08-30 15:19:21 ................................................... ~ 1s
sm_v2-laravel.test-1  |   2022-08-30 15:19:23 /favicon.ico ...................................... ~ 0s
sm_v2-laravel.test-1  |   2022-08-30 15:19:23 ................................................... ~ 1s
sm_v2-laravel.test-1  |   2022-08-30 15:19:24 /build/assets/app.ac81e540.css .................... ~ 0s
sm_v2-laravel.test-1  |   2022-08-30 15:19:24 /build/assets/app.ab93cf8a.js ..................... ~ 0s
sm_v2-laravel.test-1  |   2022-08-30 15:19:24 /favicon.ico ...................................... ~ 0s
sm_v2-laravel.test-1  |   2022-08-30 15:19:27 ................................................... ~ 0s
sm_v2-laravel.test-1  |   2022-08-30 15:19:29 /favicon.ico ...................................... ~ 0s
    sm_v2-laravel.test-1  |   2022-08-30 16:07:14 ................................................... ~ 0s

更新2

我现在得到了不同的错误

代码语言:javascript
复制
SQLSTATE[HY000] [1045] Access denied for user 'root'@'192.168.128.3' (using password: YES)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-09 16:34:34

经过一个多星期的精神探索,我终于解决了这个问题。但很奇怪,没有人能够在任何论坛上提供任何答案,是的,我尝试了所有著名的论坛可能。

我确保在我的主机(主计算机)机器上添加了两个用户,而不是停靠器mysql,并且我使用mysql cli授予了他们全部授权,有两个这样的条目,还有其他条目。

代码语言:javascript
复制
root | %
root | localhost

我一个接一个地执行命令。我不知道是哪些命令确切地解决了问题,因为我是一个船坞和航行初学者,但以下是我尝试的步骤,然后它开始工作。

我得到了Docker is not running.,所以我试着让码头运行。

代码语言:javascript
复制
sudo systemctl enable docker.service
sudo systemctl enable docker.socket

在那之后,我尝试了sail up,但是它没有工作,所以运行如下

代码语言:javascript
复制
sudo systemctl stop docker
sudo systemctl start docker
sudo systemctl disable docker.service
sudo systemctl enable docker.service
sail up

之后,我重新启动了我的计算机(我在Ubuntu22.04上)

代码语言:javascript
复制
reboot

删除了一些不必要的文件,还发现了码头服务中的一些错误,通过运行下面代码的第2和第3行解决了这些错误。

代码语言:javascript
复制
sudo rm /etc/systemd/system/docker.service.d/override.conf
sudo systemctl reset-failed docker.service
sudo systemctl start docker.service
systemctl daemon-reload
sudo systemctl start docker.service
代码语言:javascript
复制
sail down
sail build --no-cache
sail up
代码语言:javascript
复制
php artisan config:clear

在那之后,我迁移了数据库,并且它工作了。

代码语言:javascript
复制
sail artisan migrate

在那之后

代码语言:javascript
复制
sudo systemctl enable docker
sail up
sail build
sail ps
sudo usermod -aG docker ${USER}

移除daemon.json

代码语言:javascript
复制
sudo rm daemon.json

移除旧卷

我觉得这很有帮助

代码语言:javascript
复制
sail down --rmi all -v
sail up / (you can use sail up --no-cache)

现在mysql工作在主机端口3306以及其他用于码头33073308的端口上。

“我很感激”Mihai的努力,因为只有“Mihai”在评论中回答。

更新2

我必须在platform: 'linux/x86_64'文件中添加docker-compose.yml

代码语言:javascript
复制
mysql:
        image: 'mysql/mysql-server:8.0'
        platform: 'linux/x86_64'
        ports:
            - '${FORWARD_DB_PORT:-3307}:3306'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73551073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档