首页 > 解决方案 > Web 应用程序无法访问 MySQL/MariaDB

问题描述

我使用 Ubuntu 20.04 在 WSL2(Linux 的 Windows 子系统)上设置了一个新的开发环境。

用于 mysql 服务器的通用 LAMP 堆栈、Apache2、PHP 7.3 和 MariaDB。

当我尝试 php artisan install在我的 Laravel 应用程序上运行时,我收到以下错误

In Connection.php line 664:

  SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost' (SQL: select * from information_schema.tables where table_schema
  = dev_database and table_name = default_migrations and table_type = 'BASE TABLE')

SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'

我输入了正确的 mysql 密码,但不确定这个错误是什么意思。

我怀疑这可能是文件夹或访问数据库的权限问题,所以我查看了进程以查看 MySQL 是如何运行的。

运行后ps aux,我得到以下信息(不确定这是否相关,但我有 3 个 DB 进程)

root     24328  0.0  0.0   2612  1872 pts/1    S    Aug30   0:00 /bin/sh /usr/bin/mysqld_safe
mysql    24445  0.0  1.3 1775800 88096 pts/1   Sl   Aug30   0:03 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=
root     24446  0.0  0.0   9720  1000 pts/1    S    Aug30   0:00 logger -t mysqld -p daemon error

标签: phpmysqllaravelubuntu

解决方案


这意味着你不能再跑mysql -u root了,必须做sudo mysql -u root instead

要使其工作,您必须创建一个具有所需权限的新用户并使用它。

有关更多详细信息,请参阅答案。


推荐阅读