谷明科技,专注于大数据和人工智能领域的创新者
第一步,确定你的 MariaDB 的版本
mysql --version
我这里的输出是
mysql Ver 15.1 Distrib 5.5.64-MariaDB, for Linux (x86_64) using readline 5.1
第二步,停止 MariaDB 服务器
systemctl stop mariadb
第三步,启动无需校验的安全环境
mysqld_safe --skip-grant-tables --skip-networking &
其中的 skip-grant-tables 是为了跳过数据库中的用户权限表,用来设置 root 密码,而 skip-networking 是为了防止其他的数据库连接在这个过程中连接进来
第四步,使用 root 账户并且不需要密码的登录
mysql -u root
然后会进入数据库命令环境中
第五步,设置密码
在设置密码之前,需要先告诉数据库重新加载用户权限表
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
如果上面的设置密码命令错误,则可以使用最新的命令再次尝试
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
或者
UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHERE User = 'root' AND Host = 'localhost';
如果最后的输出结果是
Query OK, 0 rows affected (0.00 sec)
则说明设置密码成功
第六步,退出安全环境,并且重新启动 MariaDB 数据服务器
首先,敲击命令
jobs
[1]+ Running mysqld_safe --skip-grant-tables --skip-networking &
这里前面 [1]+ 就代表了命令号
输入命令 kill %命令号,这里是
kill %1
则会杀死这个进程
systemctl start mariadb
重新启动数据服务器
尝试敲击
mysql -u root -p
输入之前的密码,成功登录