【问题标题】:Why mysql-server doesn't work on my raspberry?为什么 mysql-server 不能在我的树莓上工作?
【发布时间】:2021-10-29 08:36:42
【问题描述】:

所以我在我的 Raspberry Pi 4 上刷了 arm ubuntu 服务器,我更新和升级了所有东西,并安装了 Apache2、pip3、pymysql,一切都按预期进行。当我安装 mysql-server 时,一切都开始出现问题:

在教程中我首先关注的是 MySQL 在安装后自动启动,而当我安装它时它没有。 然后每个教程都说你使用mysql 命令而不使用sudo,但我不能,因为它给了我“身份验证错误”。 最后,我设置密码的次数并不重要,当我使用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”,这不是错误,真正的问题是大多数教程(甚至是下面建议的教程) ) 已过时。请注意。

【问题讨论】:

    标签: mysql server webserver raspberry-pi4


    【解决方案1】:

    您尝试遵循的教程太旧(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 语句不适合你,你可以修改用户 直接表:

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

    (source)

    【讨论】:

    • 感谢您的回答,但不幸的是我照您说的做了,但还是一样:mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '2002xela'; Query OK, 0 rows affected (0.09 sec) mysql> flush privileges; Query OK, 0 rows affected (0.08 sec) mysql> quit Bye ubuntu@ubuntu:~$ mysql -u root -p Enter password: ERROR 1698 (28000): Access denied for user 'root'@'localhost'
    • root用户不需要密码,但默认使用身份验证套接字功能,因此您必须使用sudo mysql以root身份连接并创建另一个用户进行基于密码的连接。
    • @Naktibalda 是的,按照 Tim 的建议,我找到了更新的教程,也发现了这一点。也谢谢你的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-14
    • 1970-01-01
    • 2018-06-08
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多