【问题标题】:MySQL errors with php artisan migratephp artisan migrate 的 MySQL 错误
【发布时间】:2020-11-27 16:19:14
【问题描述】:

我正在尝试使用 phplaravel(使用 UBUNTU 19迁移数据库,但被卡住了有一些 MySQL 错误: 首先,我在没有root用户的情况下使用mysql CLI登录(仅使用“mysql”命令) 然后当我运行时:

php artisan migrate 

它告诉我:

服务器请求客户端未知的身份验证方法

然后我尝试使用 root 用户登录(使用 "mysql -u root" 命令)并运行 php artisan migrate,再次 这一次,它告诉我:

您的密码已过期。要登录,您必须使用客户端进行更改 支持过期密码。

所以我尝试使用设置密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

它显示另一个错误:

您必须先使用 ALTER USER 语句重置密码 执行此语句。

(更改密码使用

 SET PASSWORD = PASSWORD('new_password')

产生 SQL 语法错误)

所以我考虑过在第一次登录时设置密码(仅使用“mysql”命令),但这又告诉了我:

MySQL 服务器使用 --skip-grant-tables 选项运行,因此它 无法执行该语句

我真的不知道该怎么办?

【问题讨论】:

  • 永久删除 MySQL 并重新安装

标签: php mysql laravel ubuntu database-migration


【解决方案1】:

创建一个新的mysql用户:

CREATE USER 'laravel'@'localhost' IDENTIFIED BY 'password';

然后提供新用户访问权限:

GRANT ALL ON *.* to 'laravel'@'localhost';

最后刷新重新加载所有权限:

FLUSH PRIVILEGES;

现在在您的配置中使用新的用户名和密码。问题就解决了。

【讨论】:

  • 我以 root 用户登录 mysql 并提供了这个新用户访问权限,它显示:“您不允许使用 GRANT 创建用户”,我尝试使用 laravel 用户登录,然后它显示“用户'laravel'@'localhost'的访问被拒绝”
猜你喜欢
  • 1970-01-01
  • 2016-05-14
  • 2016-10-14
  • 2020-10-23
  • 2018-08-04
  • 2018-11-18
  • 2015-12-19
  • 2017-09-27
  • 2016-07-07
相关资源
最近更新 更多