为什么 mysql-server 不能在我的树莓派上运行?

Why mysql-server doesn't work on my raspberry?

所以我在 Raspberry Pi 4 上刷新了 arm ubuntu 服务器,我更新并升级了所有内容并安装了 Apache2、pip3、pymysql,一切都按预期进行。当我安装 mysql-server 时,一切都开始看起来不对:

首先在我遵循的教程中写道 MySQL 在安装后自动启动,而我安装它时却没有。 然后每个教程都说你使用 mysql 没有 sudo 的命令,但我不能,因为它给了我 'authentication error'。 最后,无论我设置密码多少次,当我使用 sudo mysql -u root -p 时,我都可以输入一个随机密码,甚至没有密码。因此,我什至不能做一个简单的索引页面,在 MySQL (the tutorial I followed)

上显示一些数字

我使用了 Raspberry Pi 4 和 Ubuntu server arm 20.04.3

编辑:我发现您必须创建一个具有权限的用户才能让外部程序或应用程序使用 mysql 并且不能使用默认的 'root'(尽管您可以更改日志系统,不推荐)。此外,我发现使用 root 访问 mysql-server 不需要密码,只需要命令 'sudo' 并且这不是错误,真正的问题是大多数教程(甚至下面建议的那个)已经过时了。请注意。

您尝试遵循的教程太旧(2015 年)并且是为 Ubuntu 14.04 制作的,您重新尝试使用较新的教程(例如 this one

这就是说,您可以通过刷新用户权限来解决这个问题:

设置MySQL用户密码 如果您有 MySQL 5.7.6 及更高版本或 MariaDB 10.1.20 及更高版本,请键入以下命令:

ALTER USER 'user-name'@'localhost' IDENTIFIED BY 'NEW_USER_PASSWORD';
FLUSH PRIVILEGES;

如果 ALTER USER 语句对您不起作用,您可以修改用户 table直接:

UPDATE mysql.user SET authentication_string = PASSWORD('NEW_USER_PASSWORD')
WHERE User = 'user-name' AND Host = 'localhost';
FLUSH PRIVILEGES;

(source)