1

I am trying to connect my Laravel" (Locally setup) project with cPanel Mysql remotely. But I faced issues. Please help me how to solve this

Manage SSH already permitted and also I connect SSH tunnels.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=rashgsen_bdskills
DB_USERNAME=rashgsen_skills
DB_PASSWORD=B*****1desh@2020

When I try to run php artisan migrate its doesn't work. Error show.

SQLSTATE[HY000] [1045] Access denied for user 'rashgsen_skills'
@'localhost' (using password: YES) (SQL: select * from information_schema.tables where table_schema = ra
shgsen_bdskills and table_name = migrations and table_type = 'BASE TABLE')

  at F:\xamppnew\htdocs\laravel\skillsbd\vendor\laravel\framework\src\Illuminate\Database\Connection.php
:664
    660|         // If an exception occurs when attempting to run a query, we'll format the error
    661|         // message to include the bindings with SQL, which will make this exception a
    662|         // lot more helpful to the developer instead of just the database's errors.
    663|         catch (Exception $e) {
  > 664|             throw new QueryException(
    665|                 $query, $this->prepareBindings($bindings), $e
    666|             );
    667|         }
    668|

  Exception trace:

  1   PDOException::("SQLSTATE[HY000] [1045] Access denied for user 'rashgsen_skills'@'localhost' (using
 password: YES)")
      F:\xamppnew\htdocs\laravel\skillsbd\vendor\laravel\framework\src\Illuminate\Database\Connectors\Co
nnector.php:70

  2   PDO::__construct("mysql:host=127.0.0.1;port=3306;dbname=rashgsen_bdskills", "rashgsen_skills", "Ba*****esh@2020", [])
      F:\xamppnew\htdocs\laravel\skillsbd\vendor\laravel\framework\src\Illuminate\Database\Connectors\Co
nnector.php:70
Rashed Jhony
  • 135
  • 3
  • 10
  • `DB_HOST=127.0.0.1` is your local machine. This is trying to connect with your local version. You need to change the host here to be the host of the cPanel remote IP address – Oli Girling Sep 08 '19 at 18:35
  • DB_HOST=198.2.4.5 open port from remote – dılo sürücü Sep 08 '19 at 19:05
  • 1) You have exposed a large part of your password, change it immediately. 2) You mention SSH tunnel, can you confirm it works? Are you able to connect on the console, eg `mysql -u... -p -h 127.0.0.1`? 3) Have you tried `localhost` instead of `127.0.0.1`? – Don't Panic Sep 09 '19 at 08:42
  • Possible duplicate of [Laravel MySql DB Connection with SSH](https://stackoverflow.com/questions/25495364/laravel-mysql-db-connection-with-ssh) – Don't Panic Sep 09 '19 at 08:50

2 Answers2

1

your env should be like this

DB_CONNECTION=mysql
DB_HOST=     // your cpanel domain ip address which u can see in statistics 
DB_PORT=3306
DB_DATABASE= // cpanel mysql db name
DB_USERNAME= // cpanel mysql user
DB_PASSWORD= // cpanel mysql pssword

finel step find ur pc ip address and and add it in cpanel Romote Mysql

Hamza
  • 124
  • 9
0

You need to change your DB_HOST to be the remote host's IP.

Currently its pointing to your local host 127.0.0.1 and is being rejected because the username / password is not correct for this host. I assume you have changed these to match your remote's username and password, but you have not changed your host ip

Example:

DB_HOST=198.4.5.1
Oli Girling
  • 605
  • 8
  • 14
  • OP mentions (not very clearly) he is using an SSH tunnel. – Don't Panic Sep 09 '19 at 08:40
  • @Don'tPanic its not clear yep, but hes using a laravel command, not connecting via ssh. `php artisan migrate` uses the config of the laravel application to run, so he needs to change his application's `DB_HOST` – Oli Girling Sep 09 '19 at 14:33
  • No, you've misunderstood what an SSH tunnel is. The point of an SSH tunnel is that it creates a tunnel from your machine to the remote host. To use it - from the command line, or in your Laravel config - you connect to localhost. Check the duplicate question I linked above. – Don't Panic Sep 09 '19 at 14:37