如何在Ubuntu 18.04中重置MariaDB root密码
时间:2020-07-27 12:59:30 来源:igfitidea点击:
本教程解释了如何在Ubuntu Server 18.04中重置MariaDB root密码。
Ubuntu上的MariaDB服务器不需要将作为root用户身份连接的密码,因为名为Unix_socket的服务器端插件用于通过Unix套接字文件对从本地主机连接的客户端进行身份验证。
如果要登录系统root帐户,则可以在没有密码的情况下登录MariaDB root帐户:
sudo -i mysql
或者
sudo mysql
这也意味着其他系统用户无法登录MySQL root帐户:
mysql -u root ERROR 1698 (28000): Access denied for user 'root'@'localhost'
为MariaDB root用户设置密码
如果要实现密码身份验证而不是UNIX_SOCKET身份验证,则我们必须执行此操作。
从系统root帐户登录MySQL根控制台:
sudo mysql
运行update命令设置新密码:
UPDATE mysql.user set password=password('newpassword'), plugin='mysql_native_password' where user='root';
(这里'newpassword'是新的root密码)
刷新权限并退出MySQL控制台:
FLUSH PRIVILEGES; quit;
现在我们为MariaDB root帐户设置了密码,我们现在可以使用新密码登录服务器。
mysql -u root -p
如果我们忘记了root密码
如果忘记了root密码,则忘记了root密码,则可以使用以下步骤重置它。
停止MariaDB服务器,如果服务器已运行:
sudo systemctl stop mariadb.service
使用mysqld命令使用mysqld命令启动mariadb - 授予表:
sudo mysqld --skip-grant-tables &
此时,我们可以在没有密码的情况下登录MariaDB root,以简单地运行:
mysql
然后我们可以更改root密码:
UPDATE mysql.user set password=password('newpassword'), plugin='mysql_native_password' where user='root';
之后,退出MySQL控制台并杀死MySQLD进程:
sudo pkill mysqld
使用systemctl命令重新启动MariaDB服务器:
sudo systemctl start mariadb
现在我们重置了MariaDB root密码,尝试使用新密码登录:
mysql -u root -p