laravel valet mysql错误:指定为definer的用户不存在

vnzz0bqm  于 2021-06-20  发布在  Mysql
关注(0)|答案(3)|浏览(377)

在一个新的laravel安装,运行代客,应用程序的工作良好。
问题是试图使用mysql建立一个数据库。我可以创建一个数据库,告诉mysql使用它,但不能用它做任何事情:

mysql> create database foobar;
Query OK, 1 row affected (0.09 sec)

mysql> use foobar;
Database changed

mysql> show tables;
ERROR 1449 (HY000): The user specified as a definer ('mysql.infoschema'@'localhost') does not exist

如果我尝试 php artisan migrate 我得到以下信息:

PDOException  : SQLSTATE[HY000] [2006] MySQL server has gone away

  at /Users/isaacfennell/Sites/anything/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:68
    64|         if (class_exists(PDOConnection::class) && ! $this->isPersistentConnection($options)) {
    65|             return new PDOConnection($dsn, $username, $password, $options);
    66|         }
    67|
  > 68|         return new PDO($dsn, $username, $password, $options);
    69|     }
    70|
    71|     /**
    72|      * Determine if the connection is persistent.

  Exception trace:

  1   PDO::__construct("mysql:host=127.0.0.1;port=3306;dbname=anything", "root", "", [])
      /Users/isaacfennell/Sites/anything/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:68

  2   Illuminate\Database\Connectors\Connector::createPdoConnection("mysql:host=127.0.0.1;port=3306;dbname=anything", "root", "", [])
      /Users/isaacfennell/Sites/anything/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:98

  Please use the argument -v to see more details.

我对laravel和mysql还不熟悉,不知道如何解决这个问题-这是怎么回事?谢谢

bakd9h0s

bakd9h0s1#

解决了第一个问题:
mysql_upgrade -u root 在这里找到:mysqlerror:the user 在尝试转储表空间时,指定为定义者的('mysql.infoschema'@'localhost')不存在
但是跑步 php artisan migrate 仍然给出与上面相同的错误输出…

svujldwt

svujldwt2#

如果您使用的是mac,在终端写入中:

composer global require "laravel/installer"(enter)
nano .bash_profile(enter)

i 这样你就可以写了

export PATH="$PATH:$HOME/.composer/vender/bin"

alt+command 以及 enterx 退出按钮
然后,打开xampp,单击“常规”,单击“打开终端”,单击“终端”,然后键入:

pwd (enter)
cd space .. (enter)
cd opt/ 
cd lampp (even if you are using xampp)
cd htdocs
cd ur laravel folder name
php artisan migrate

https://www.youtube.com/watch?v=bufykk-grvi&t=18s
我希望能成功

zpgglvta

zpgglvta3#

我也遇到了第二个问题,我通过创建和使用一个新的mysql用户而不是使用 root .

mysql> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'newpassword';
    mysql> GRANT ALL PRIVILEGES ON anything.* TO 'newuser'@'localhost';

别忘了更新 DB_USERNAME 以及 DB_PASSWORD 在应用程序的.env文件中,可以在根目录中找到。

相关问题