Не удается подключиться к таблице mysql с использованием Lumen Framework - PullRequest
0 голосов
/ 06 апреля 2020

Справочная информация: я установил php7 .2, используя brew, затем установил mysql, используя brew. mysql Вер. 8.0.19 для osx10.14 на x86_64 (Homebrew). Затем создал мой проект lumen, используя composer composer create-project --prefer-dist laravel/lumen blog

Я пытаюсь вставить данные в мою таблицу, и он выдает ошибку в почтальоне SQLSTATE[HY000] [1045] Access denied for user 'username'@'localhost'

Это мой файл .env

APP_NAME=Lumen
APP_ENV=local
APP_KEY= 9887765535434424354566gfr547633
APP_DEBUG=true
APP_URL=http://localhost
APP_TIMEZONE=UTC

LOG_CHANNEL=stack
LOG_SLACK_WEBHOOK_URL=

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=pqueue
DB_PASSWORD=password
DB_STRICT_MODE=false
DB_SOCKET=/tmp/mysql.sock

CACHE_DRIVER=array
QUEUE_DRIVER=database

в моей конфигурации> базы данных. php У меня есть настройки по умолчанию

return [

'default' => env('DB_CONNECTION', 'mysql'),


'connections' => [

    'sqlite' => [
        'driver' => 'sqlite',
        'database' => env('DB_DATABASE', database_path('database.sqlite')),
        'prefix' => env('DB_PREFIX', ''),
    ],

    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', 3306),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => env('DB_CHARSET', 'utf8mb4'),
        'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),
        'prefix' => env('DB_PREFIX', ''),
        'strict' => env('DB_STRICT_MODE', true),
        'engine' => env('DB_ENGINE', null),
        'timezone' => env('DB_TIMEZONE', '+00:00'),
    ],

    'pgsql' => [
        'driver' => 'pgsql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', 5432),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => env('DB_CHARSET', 'utf8'),
        'prefix' => env('DB_PREFIX', ''),
        'schema' => env('DB_SCHEMA', 'public'),
        'sslmode' => env('DB_SSL_MODE', 'prefer'),
    ],

    'sqlsrv' => [
        'driver' => 'sqlsrv',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', 1433),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => env('DB_CHARSET', 'utf8'),
        'prefix' => env('DB_PREFIX', ''),
    ],

],

/*
|--------------------------------------------------------------------------
| Migration Repository Table
|--------------------------------------------------------------------------
|
| This table keeps track of all the migrations that have already run for
| your application. Using this information, we can determine which of
| the migrations on disk haven't actually been run in the database.
|
*/

'migrations' => 'migrations',

/*
|--------------------------------------------------------------------------
| Redis Databases
|--------------------------------------------------------------------------
|
| Redis is an open source, fast, and advanced key-value store that also
| provides a richer set of commands than a typical key-value systems
| such as APC or Memcached. Laravel makes it easy to dig right in.
|
*/

'redis' => [

    'client' => 'predis',

    'cluster' => env('REDIS_CLUSTER', false),

    'default' => [
        'host' => env('REDIS_HOST', '127.0.0.1'),
        'password' => env('REDIS_PASSWORD', null),
        'port' => env('REDIS_PORT', 6379),
        'database' => env('REDIS_DB', 0),
    ],

    'cache' => [
        'host' => env('REDIS_HOST', '127.0.0.1'),
        'password' => env('REDIS_PASSWORD', null),
        'port' => env('REDIS_PORT', 6379),
        'database' => env('REDIS_CACHE_DB', 1),
    ],

],

]; `

Я не уверен, в чем может быть проблема.

Когда я запускаю php artisan migrate:refresh или php artisan migrate --env=production

In Connection.php line 664:

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


In Connector.php line 70:

  SQLSTATE[HY000] [1045] Access denied for user 'pqueue'@'localhost' (using password: YES)

Но я дал грант доступ ко всем таблицам в тестовой базе данных уже GRANT ALL on test.* to pqueue@localhost;

Я смог использовать учетные данные pqueue для создания таблицы и вставки данных в тестовую базу данных с помощью консоли mysql. так что я знаю, что у пользователя достаточно прав.

Может кто-нибудь помочь мне отладить?

1 Ответ

0 голосов
/ 06 апреля 2020

Я решил свою проблему. В случае, если у кого-то еще есть подобная проблема, пожалуйста, убедитесь, что в вашем mysql пароле пользователя нет "#".

...