我需要我的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;");
我在创建数据库时遇到了用户访问被拒绝的问题,但我一直在使用相同的数据库用户访问其他数据库。我非常怀疑它与用户有关,但我不确定如何为这种情况正确设置用户访问帐户。
注意:
我将不胜感激任何帮助和建议。
答案 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)