跟着教程到这一步报错。

跟着教程到这一步报错。

http://img1.sycdn.imooc.com//climg/5df24f35098dddf019200914.jpg

php artisan migrate


   Illuminate\Database\QueryException  : SQLSTATE[HY000] [1130] Host 'learn.test' is not allowed to connect to this MySQL server (SQL: select * from information_schema.tables where table_schema = laravel and table_name = migrations)


  at /var/www/html/learn_laravel/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   Doctrine\DBAL\Driver\PDOException::("SQLSTATE[HY000] [1130] Host 'learn.test' is not allowed to connect to this MySQL server")

      /var/www/html/learn_laravel/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:50


  2   PDOException::("SQLSTATE[HY000] [1130] Host 'learn.test' is not allowed to connect to this MySQL server")

      /var/www/html/learn_laravel/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:46


  Please use the argument -v to see more details.

http://img1.sycdn.imooc.com//climg/5df250770958b4b806570570.jpg

这是我的数据库配置

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你好,报错原因是因为1071指定密钥太长,最大密钥长度为767字节,

解决办法:

在app/Providers/AppServiceProvider.php文件并在boot方法内设置默认字符串长度:

http://img1.sycdn.imooc.com//climg/5df44b4a097668fe09520642.jpg



注:异常中明确指明最大长度是767字节,utf8mb4编码每字符使用4字节,所以 767 / 4 = 191.75,所以将string的默认长度设置为191字符即可,如果解决您的问题请采纳,祝学习愉快!

guly 2019-12-13 10:29:20

你好,建议尝试执行以下步骤进行:

1、修改数据库中DB_HOST

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=laravel
DB_USERNAME= root
DB_PASSWORD= 123456

2、

php artisan config:cache
php artisan cache:clear 
php artisan migrate

注意:(第二步也可以手动删除数据库,然后在执行 php artisan migrate
 )


如果解决您的问题请采纳,祝学习愉快!

  • 提问者 陈莺莺呀 #1
    1、将localhost改为了127.0.0.1 2、php artisan config:cache,提示:Configuration cache cleared! Configuration cached successfully! 3、php artisan cache:clear,提示:Cache cleared successfully. 4、php artisan migrate,提示:Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `test` add index `test_title_index`(`title`))
    2019-12-14 10:29:32
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP典型功能与Laravel5框架开发
  • 参与学习           人
  • 解答问题       722    个

掌握开发中必备技能解锁缓存、支付,邮件和短信发送等高端接口运用,直击工作重难点,通过开发简书项目熟练掌握Laravel5的开发技术。完成以上三个阶段的学习,成为满足企业需求的开发工程师。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师