我是laravel的初学者。我在laravel版本5.4.16上遇到了与mysql的连接错误

时间:2017-04-05 10:57:06

标签: php mysql laravel-5.4

这是我将表添加到firstapp db

的路由代码
Route::get('/', function () 
{
    Schema::create('users', function($table)
    {
        $table->increments('id');
    });        
    return view('welcome');
});

这是config \ database.php文件的代码

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', 'localhost'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', 'firstapp'),
    'username' => env('DB_USERNAME', 'root'),
    'password' => env('DB_PASSWORD', ''),
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'strict' => true,
    'engine' => null,
],

但是有两个错误。请给我解决方案。

  

Connection.php第647行中的QueryException:   SQLSTATE [HY000] [2002]无法建立连接,因为目标计算机主动拒绝它。   (SQL:create table usersid int unsigned not null auto_increment primary key)默认字符集utf8mb4 collat​​e utf8mb4_unicode_ci)

并且

  

Connector.php第68行中的PDOException:   SQLSTATE [HY000] [2002]无法建立连接,因为目标计算机主动拒绝它。

3 个答案:

答案 0 :(得分:4)

您必须修改env文件。必须首先修改数据库配置,而不是像

那样修改database.php文件
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=Your Db Name
DB_USERNAME=Your Db username
DB_PASSWORD=Your Db Password

答案 1 :(得分:0)

您应该添加.env文件,请参阅.envexample,然后添加数据库配置,主机名,密码,数据库名称。

答案 2 :(得分:0)

    'mysql' => [
        'driver' => 'mysql',
        'host' => 'localhost',
        'port' => '3306',
        'database' =>'firstapp',
        'username' => 'root',
        'password' => '',
        'unix_socket' => '',
        'charset' => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
],

请尝试