【问题标题】:Fresh mysql-server installation does not ask for password全新的 mysql-server 安装不要求输入密码
【发布时间】:2018-04-23 00:28:07
【问题描述】:

我正在 debian 上安装包 mysql-server(实际上是 Raspbian,树莓派的 Debian 版本)。我正在使用以下命令安装它

sudo apt-get install mysql-server

在安装过程中我没有被要求输入 root 密码。如果我尝试使用以下命令连接到 mysql:

mysql -u root

mysql -u root -p

并使用系统root密码,我收到以下错误:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

我很困惑,因为显然在安装过程中应该要求我提供 root 密码

我该怎么办?

问候。

【问题讨论】:

    标签: mysql installation raspberry-pi raspbian


    【解决方案1】:

    试试这个:

    安装后,运行MySql Secure Installation:

    pi@raspberrypi:~ $ sudo mysql_secure_installation
    

    系统会询问您一系列与安全相关的配置问题,包括设置 root 密码。

    设置 root 密码后,您需要以 root 身份登录(或使用sudo)才能登录。这是 MySql 如何使用基于 process uid 的凭据的结果

    【讨论】:

    • 谢谢!我跑了$ mysql_secure_installation(即没有sudo)并且空密码不起作用。 刚刚添加 sudo 和空密码工作!操作系统:debian-9
    • 请注意不要在密码中使用 `\` 字符。
    • 无论如何都要设置它不每次都要求 sudo
    • 它要求root密码,即使在第一次安装时使用sudo而不给我密码.. -_-
    【解决方案2】:

    给你:

    在新的my-sql中,如果安装时密码为空,那么它基于auth_socket插件。

    正确的方法是用sudo权限登录mysql。

    $ sudo mysql -u root -p
    

    然后使用以下命令更新密码:

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

    一旦完成stop and start mysql 服务器。

    $  sudo service mysql stop
    $  sudo service mysql start
    

    完整详情请参考this link

    如有任何疑问,请发表评论。

    【讨论】:

    • 在阅读了关于这个密码问题的 5 个左右的 stackoverflow 线程之后,这是解决问题的那个。所缺少的只是sudo 之前的mysql
    • 乐于助人 :) @Pedro
    • @Nandesh 我和佩德罗在同一条船上——尝试了几个 Stack Overflow 和 Ask Ubuntu 帖子、博客帖子等,但在我找到你的简单解决方案之前都无济于事。做得好,谢谢!
    • @duckmayr 来自开发者的开发者:)
    【解决方案3】:

    如果有人在 Ubuntu 18.04 中安装 MYSQL 时遇到此问题。

    Ubuntu 18.04 使用套接字进行授权而不是密码!!

    (https://websiteforstudents.com/mariadb-installed-without-password-prompts-for-root-on-ubuntu-17-10-18-04-beta/)

    对我来说,登录很简单:

    sudo  mysql -u root      
    

    别忘了sudo

    我真的希望应该有一条消息说明 Ubuntu 在尝试运行 mysql 时不再使用密码。这是一个非常巨大的功能变化。

    【讨论】:

      【解决方案4】:

      就我而言,这里没有提到任何工作,以下对我有用。 也如此处所述: https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html

      创建了一个超级用户帐户 'root'@'localhost。超级用户的密码已设置并存储在错误日志文件中。要显示它,请使用以下命令:

      shell> sudo grep 'temporary password' /var/log/mysqld.log

      【讨论】:

        【解决方案5】:

        我遇到了同样的问题,这使我无法访问 mysql 运行 sudo apt install mysql-server 后使用 mysql_secure_installation 的所有答案都不起作用。这就是有效的方法

        1. 转到official mysql installation guide并逐行跟踪
        2. 你需要从here下载一个.deb文件来配置你要安装哪个版本的mysql以及其他配置
        3. 配置完成后运行sudo apt-get update && sudo apt-get install mysql-server这一次你会被要求输入密码。

        希望对您有所帮助。干杯!

        【讨论】:

          【解决方案6】:

          从mysql官网https://dev.mysql.com/downloads/repo/apt/下载apt仓库

          选择您的版本并单击下一步,然后选择确定并单击下一步。

          现在

          sudo apt-get update  
          
          sudo apt-get install mysql-server
          

          安装时会要求输入密码。

          【讨论】:

            【解决方案7】:

            您可能有兴趣阅读this question and aswers

            默认密码不是空字符串吗?

            【讨论】:

              【解决方案8】:

              在我的例子中,mysql root 密码是我的超级用户密码。

              【讨论】:

                猜你喜欢
                • 2020-05-03
                • 2013-05-23
                • 2011-05-08
                • 2016-08-05
                • 1970-01-01
                • 1970-01-01
                • 2019-04-28
                • 1970-01-01
                • 2021-05-31
                相关资源
                最近更新 更多