我做的一切都没有成功:(如果我尝试更改mysql root密码,我仍然会收到错误
到目前为止我做了什么: 1)
service mysql stop
2)
mysqld_safe --skip-grant-tables &
3)
mysql -u root
4)
update user SET PASSWORD=PASSWORD("<my_new_password>") WHERE USER='root'; flush privileges; exit
5)
mysql -u root -p
和...
我得到了全部时间:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
我的服务器是ubuntu 16.0.4
有人可以告诉我,如果我重新安装mariaDB,我仍会拥有自己的数据库吗?目前我甚至无法进行备份:(
答案 0 :(得分:0)
我知道这个问题很旧,但是我没有注意到
sudo mysql -u root
较新版本的mariadb似乎对root用户使用linux授权,而忽略密码。
答案 1 :(得分:0)
我遇到了同样的问题,发现了这个:
即问题是root的密码,它比其他用户更严格,即使他们拥有root的所有权限。即 root 的 密码需要为 min。长度为 10!虽然其他用户可以是 8。
事实上,错误消息具有误导性。与root是否被授予localhost访问无关,是你的密码错误!(bug MariaDB/mysql)
如果我使用例如Synology Interface 可以重置密码(长度为 10),也可以重新登录/重启 mysql 服务,mysql -u root -p
有效!
答案 2 :(得分:0)
mysql.user 表中可能缺少您的 root 用户,因此您的步骤 (4) 没有任何作用
这是帮助恢复它的答案: restoring-deleted-root-user-and-password-for-mysql
答案 3 :(得分:-1)
尝试运行sudo mysql_secure_installation
这会提示您更改root密码以及其他一些内容。
此外,如果您可以访问phpmyadmin页面,那么您可以导出数据库并重新安装mariaDB以进行备份,然后在重新安装后再次导入表格。
答案 4 :(得分:-3)
尝试运行mysql -u root -p
后跟密码