Don't forget that you have had a dream

    

ubuntu18.04安装phpmyadmin后不能使用root用户登录的解决办法

前言

今天搞了个亚马逊的免费主机(免费使用12个月),我之前一直是完centos的,但是亚马逊的免费套餐只有ubuntu18.04和Windows,还有一些我不太熟悉的操作系统(如图),有兴趣的可以期待我下篇文章,一起去撸一个免费的主机玩玩。

https://file.whongbin.com/blog/20190513173335.png

问题

安装了phpmyadmin之后,进行登录,发现root账户不能登录。这种情况在centos下貌似是不存在的。。

https://file.whongbin.com/blog/20190513171410.png

错误代码如下:

ERROR 1698: Access denied for user 'root'@'localhost'

但是在终端中使用命令 sudo mysql -uroot -p 登录是没有任何问题的。


我不清楚这是问什么,不过我猜想可能是phpmyadmin在ubuntu18.04上的一个特例吧,安装phpmyadmin的时候会多一个步骤,创建phpmyadmin的登录用户。但是这个用户明显是一点屌用都没有啊,只能管理phpmyadmin这一个数据库,我要你有何用~

解决

找度娘求救以后,看到这么一句话:MySQL 改变了安全模式:现在MySQL root登录需要一个sudo(而密码仍然可以是空白的)。也就是说,phpMyAdmin将无法使用根凭证(就是自身禁止了root用户的登录行为)。

方法一:

最简单(最安全)的解决方案将创建一个非root用户并授予所需的权限。

1.链接数据库

sudo mysql -uroot -p

2. 创建一个用来赋予权限的账户(例如 rootdb)

CREATE USER 'rootdb'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'rootdb'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

3.更新phpMyAdmin配置

打开文件/etc/dbconfig-common/phpmyadmin.conf

vim /etc/dbconfig-common/phpmyadmin.conf

4.修改你的配置文件内容

# dbc_dbuser: database user
#       the name of the user who we will use to connect to the database.
dbc_dbuser='rootdb'
 
# dbc_dbpass: database user password
#       the password to use with the above username when connecting
#       to a database, if one is required
dbc_dbpass='123456'

解决方法二:

简单粗暴,把原本已创建好的phpmyadmin账户赋予所有权限,执行命令

GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' IDENTIFIED BY 'yourpasswd';
FLUSH PRIVILEGES;

OK了,使用刚才的账号密码登录就可以看到所有数据库了

您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!
所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 知识共享许可协议 进行许可。

添加新评论

表情

  更新日志

博客banner下方滚动文字替换为使用 一言API 随机获取 --- updated on 2019-05-22 09:04:31 星期三

  关于博主

三里林,一个致力于分享,分享心得,分享技术,分享知识点的个人博客

  近期评论

  分类目录

人总是健忘的,所以在行走一段人生旅途后,总要不自觉地停下来,整理一下前段时间的得与失,得大于失证明这段时间没有浪费,欣喜若狂的准备下一段旅途。

如果你是一匹千里马,那么请做自己的伯乐

试问天上仙人,谁敢来此人间!

愿人生如剑、立起寒光四射、躺倒四射寒光

“没有期望,就没有失望”,从此之后,再没受过伤害,因为从一开始,就不抱有什么希望。

你制定的计划是.txt还是.exe?

忘羡一曲远,曲终人不散。

最终让你难以忘怀的,并不是某个谁,而是当初为之倾心,不顾一切的自己。