无法重置 MariaDB 密码

无法重置 MariaDB 密码

我刚刚在 Ubuntu 17.04 服务器上安装了 MariaDB sudo apt install mariadb-server,但无法登录。

A~/.my.cnf不存在。使用空密码mysql -u root -p无效。

首先,我尝试过https://www.liberiangeek.net/2014/10/reset-root-password-mariadb-centos-7/,所以我使用 启动了 mysql sudo mysqld_safe --skip-grant-tables --skip-networking &。之后,我查看了SELECT Password FROM mysql.user,它是空的(这对我来说似乎很奇怪,因为我无法使用 root 和空密码登录)。之后,我运行了

UPDATE mysql.user SET password=PASSWORD("root") WHERE user='root';
flush privileges;

在控制台中更改密码。虽然密码设置为*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B,这似乎是正确的,但就是无法登录。

随后,我尝试使用 sudo mysql -u root 进入 mysql,如此处的答案中所述https://askubuntu.com/questions/489098/unable-to-reset-root-password-of-mysql,但密码仍然存在*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B,因此密码似乎不是主要问题。

尽管如此,我还是无法登录。该服务似乎设置正确:

● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2017-05-08 17:38:44 CEST; 13min ago
  Process: 10397 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 10394 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
  Process: 10276 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exit
  Process: 10272 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 10270 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 10366 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 27 (limit: 4915)
   Memory: 105.6M
      CPU: 745ms
   CGroup: /system.slice/mariadb.service
           └─10366 /usr/sbin/mysqld

并且该进程也在正确的端口上运行

sudo netstat -taupen | grep 10366
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      125        64559      10366/mysqld

但我无法使用mysql -u root -p -P 3306(并且没有端口信息)登录。

有人能提示一下可能出了什么问题吗?

答案1

不确定问题是什么,但我总是mysql_secure_installation在安装后运行以保护数据库配置并整理一切。你试过了吗?

答案2

是的,它永远不会改变,因为“*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B”是散列“根”。

相关内容