Oo笑容太甜oO/

phpmyadmin的root不能登录的解决办法


ubuntu18.04安装了phpmyadmin之后,发现root账户不能登录。

但在终端中sudo mysql -u root -p仍然可以用root登录。

错误代码:

ERROR 1698: Access denied for user ‘root’@’localhost’

这在ubuntu16.04.4的虚拟主机上不存在这个问题。

用phpmyadmin账户登录以后,看不到其他数据库,看不到wordpress数据库就没法备份。

网上查了查:

MySQL 改变了安全模式:现在MySQL root登录需要一个sudo(而密码仍然可以是空白的)。就是说,phpMyAdmin将无法使用根凭证。

解决方法一:

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

MySQL赋予用户权限的命令的格式为:
grant 权限 on 数据库对象 to 用户 identified by "密码"

第一步,链接数据库
sudo mysql -u root -p
2. 创建一个用来赋予权限的账户(例如 root_sql)
CREATE USER 'root_sql'@'localhost' IDENTIFIED BY 'yourpasswd';
GRANT ALL PRIVILEGES ON *.* TO 'root_sql'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
3.更新phpMyAdmin配置

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

修改你的配置文件内容

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

 

解决方法二:

把本来的phpmyadmin账户赋予所有权限,那么你只要执行

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

OK了