systemsdk/docker-nginx-php-laravel

can't connect to the database

falahatiali opened this issue · 3 comments

I have a problem in the server when I wanna connect database it says for example
SQLSTATE[HY000] [1045] Access denied for user 'database'@'111.111.112.4'

but my IP has changed and now is 111.111.112.1
How can I fix this problem?

Not related to this environment. You have an example in env files and there you can find all database credentials.

excuse me how I can create a new user except root ? I wanna connect database with another user
I have change files as bellow:

 mysql:
      image: mysql:8.0
      container_name: mysql
      restart: always
      command: --default-authentication-plugin=mysql_native_password
      environment:
        - MYSQL_ROOT_PASSWORD=MYPASSWORD!@root
        - MYSQL_USER=myuser
        - MYSQL_DATABASE=mydatabase
        - MYSQL_PASSWORD=MYPASSWORD!@
      ports:
        - "33061:3306"
      volumes:
        - ./storage/mysql-data:/var/lib/mysql
        - ./docker/dev/init-db.sql:/docker-entrypoint-initdb.d/init-db.sql
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=mydatabase
DB_USERNAME=myuser
DB_PASSWORD=MYPASSWORD!@

Pay attention to next row:

  • ./storage/mysql-data:/var/lib/mysql

It means that when starting an image all files in /storage/mysql-data will be mapped into container. If you changed some db environment variables just do next:
1)make stop
2)docker-compose build
3)delete folder /storage/mysql-data
4)make start

Then new "/storage/mysql-data" will be generated and everything will work with your new db credentials.