目的
目标是在Ubuntu 18.04 Bionic Beaver Linux上重置丢失的root MariaDB密码。
请注意,如果您刚刚安装了MariaDB服务器,并且无法以root用户身份登录,请执行以下操作:
$ mysql -u root
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
您无需重设密码。相反,要以root用户身份登录,请将上述命令修改为:
$ sudo mysql
操作系统和软件版本
- 操作系统:-Ubuntu 18.04仿生海狸
- 软件:-mysql Ver 15.1 Distrib 10.1.25-MariaDB或更高版本
要求
以root或通过特权访问Ubuntu系统sudo
命令是必需的。
困难
简单
约定
使用说明
让我们从停止当前正在运行的MariaDB数据库开始:
$ sudo service mariadb stop
准备就绪后,使用以下命令手动启动MariaDB服务器linux命令和命令行选项:
$ sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
[1] 3216
(adsbygoogle = window.adsbygoogle || [])。push({});
确认MariaDB进程正在按预期运行:
$ jobs
[1]+ Running sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
在此阶段,我们无需密码即可访问MariaDB数据库:
$ mysql -u root
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
使用当前的MariaDB会话优先刷新权限:
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
接下来,重置根密码。下列linux命令将MySQL根密码重置为linuxconfig.org
:
mysql> update mysql.user set password=password('linuxconfig.org') where user='root';
Query OK, 0 rows affected, 1 warning (0.00 sec)
退出MariaDB会话:
mysql> quit
Bye
优雅地终止电流mysqld
处理:
$ sudo pkill mysqld
linuxconfig@ubuntu:~$ jobs
[1]+ Done sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking
最后,启动MariaDB数据库:
$ sudo service mariadb start
如果一切顺利,您现在应该可以使用root密码登录到MariaDB数据库:
$ sudo mysql -u root --password=linuxconfig.org
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>