创建数据库中的Laravel用户访问问题

时间:2018-01-21 09:14:58

标签: php mysql laravel-5

我需要我的Laravel应用程序来创建一个由用户定义的数据库。以下是我的设置和代码:

'mysql_only_connect'  => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST', '127.0.0.1'),
            'port'      => env('DB_PORT', '3306'),
            'database'  => null,
            'username'  => env('DB_USERNAME', 'root'),
            'password'  => env('DB_PASSWORD', '')            
        ],
DB::connection('mysql_only_connect')->statement("CREATE DATABASE db_name DEFAULT CHARACTER SET utf8;");

我在创建数据库时遇到了用户访问被拒绝的问题,但我一直在使用相同的数据库用户访问其他数据库。我非常怀疑它与用户有关,但我不确定如何为这种情况正确设置用户访问帐户。

注意:

  1. 我在本地运行但在服务器上没有问题。
  2. 我只是在已经通过WHM / cPanel创建的数据库下创建表格时没有问题。
  3. 我将不胜感激任何帮助和建议。

1 个答案:

答案 0 :(得分:0)

我意识到我只需要授予"创建"感谢this讨论,为mysql用户提供了特权。

# mysql -u root -psomepass 
mysql> grant create on *.* to testguy@localhost;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)

mysql> Bye

# mysql -u testguy -psomepass

mysql> create database frack;
Query OK, 1 row affected (0.11 sec)