赞
踩
最近一直在学习MySQL,就想着给手机的Termux上也装一个MariaDB,于是就又去查看了一下那篇Termux的安装配置教程。安装完成后进行密码相关的安全设置mysql_secure_installation,这时候却出现了报错——ERROR 1698 (28000): Access denied for user ‘root’@‘localhost’,无法进行下一步操作。
到网上查了好多的错误解决办法(没有一个是Termux上的),大多是修改一个mysql.cnf文件[mysqld]下添加skip_grant_tables,然后可以mysql -u root -p 无需密码进入MariaDB,进行更改密码。首先可能是因为发生错误的平台不同,我始终(find / -name “mysql.cnf”)找不到这个mysql.cnf文件,尝试打开mysql文件夹下的*.cnf文件也无果,最后在/usr/etc/下面找到了一个my.cnf文件,打开后是这样的······
出现了类似的[client-server]!
于是我尝试着在下面加上:
[mysqld]
skip_grant_tables
然后保存退出。
重新启动,使用mysql -u root -p 成功进入MariaDB。接下来根据别人的教程尝试修改密码UPDATE mysql.user SET Password = PASSWORD('1234')WHERE User ='root';
(还有尝试与这个类似的几个),这时出现了新的报错ERROR 1348 (HY000): Column 'Password' is not updatable
。复制了这个错误继续去查找解决办法,最后根据这篇MYSQL8.0以上版本正确修改ROOT密码下面的一个老哥的评论成功修改密码。
下面是执行的命令。
alter user 'root'@'localhost' identified by '123456';
第一次执行不知道为什么会报错,ERROR 1290 (HY000): The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement
,报错之后直觉告诉我应该flush privilegres;
一下,然后再执行上面那个命令,密码成功修改。
最后,谢谢你的观看,顺便记录一下MariaDB打开远程连接的命令。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;
p.s. 大小写无所谓!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。