我尝试了Resetting root password for mariadb does not work中的建议
ERROR 1698 (28000): Access denied for user 'root'@'localhost'只谈论Ubuntu,而不是centos 8
我可以使用mysql -u root登录,但mysql表中没有用户root!!
因此,使用0 affected rows.执行set password语句
即使在服务器重新启动后也无法正常工作。
发布于 2020-09-13 23:43:35
从ssh登录到centos服务器。然后停止mysqld服务,使用- mysqld_safe -grant-tables选项运行处于不安全模式的grant并重置密码。然后使用不带任何-u或-p参数的mysql命令登录mysql服务器,因为您处于不安全模式。然后更新root密码刷新权限,然后退出msyql控制台。然后使用mysqladmin停止mysql服务器,它将要求提供最近保存的新密码。最后启动mysqld服务。
$ systemctl stop mysqld
$ mysqld_safe --skip-grant-tables &
$ mysql
mysql> UPDATE mysql.user SET Password=PASSWORD('new-password') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;
$ mysqladmin -u root -p shutdown
$ systemctl start mysqld编辑:
$ sudo systemctl stop mariadb
$ sudo mysqld_safe --skip-grant-tables --skip-networking &
$ mysql -u root
MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;
$ sudo kill `/var/run/mariadb/mariadb.pid`
$ sudo systemctl start mariadbhttps://stackoverflow.com/questions/63872244
复制相似问题