MySQL 权限和特权问题

MySQL 权限和特权问题

我在访问 MySQL 时遇到问题。我需要创建并导入数据库,但我的默认用户没有必要的权限来执行此操作。

我正在使用 Ubuntu 16.04,有关操作系统和平台的更多详细信息:

# uname -a
Linux improve1 4.4.0-59-generic #80-Ubuntu SMP Fri Jan 6 17:36:54 UTC 2017 i686 i686 i686 GNU/Linux

这是我的 MySQL 版本:

# mysql --version
mysql  Ver 14.14 Distrib 5.7.17, for Linux (i686) using  EditLine wrapper

安装期间创建的唯一用户(我被允许只创建该用户)名为“phpmyadmin”。

如果我尝试使用 phpMyAdmin 来使用此用户权限(在http://localhost/phpmyadmin)我看到“无特权”

如果在控制台登录后尝试执行此操作,我会遇到以下问题:

mysql> CREATE DATABASE bulterm;
ERROR 1044 (42000): Access denied for user 'phpmyadmin'@'localhost' to database 'bulterm'

当我检查该用户的权限时,我看到以下内容:

mysql> SHOW GRANTS FOR 'phpmyadmin'@'localhost';
+--------------------------------------------------------------------+
| Grants for phpmyadmin@localhost                                    |
+--------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'phpmyadmin'@'localhost'                       |
| GRANT ALL PRIVILEGES ON `phpmyadmin`.* TO 'phpmyadmin'@'localhost'  |
+--------------------------------------------------------------------+
2 rows in set (0,00 sec)

但是当我尝试执行任何操作(例如创建数据库、创建新用户等)时,受到了限制。

我想创建一个 MySQL 用户“root”,并赋予其执行所有操作的全部权限。

我该如何解决我的问题?

答案1

分为三个步骤:

sudo systemctl stop mysql
sudo dpkg-reconfigure mysql-server-5.7
sudo systemctl start mysql

中间步骤将允许您更改 root 密码。

答案2

尝试登录用户和密码与 Mysql 用户使用的相同

phpmyadmin面板将打开并按照以下步骤操作:

1)转到用户 2)检查你的用户是否存在于 mysql 用户中

用户 主持人 密码 全球的 特权 授予 行动

3)点击编辑特定权限用户

4)检查标记所有全球特权和

5)使用当前用户登录它将访问创建和允许权限

谢谢..!!

答案3

您需要phpmyadmin.confdbconfig-common文件夹打开并将数据库用户名从“phpmyadmin”更改为“root”:

sudo gedit /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'

# dbc_dbpass: database user password
#       the password to use with the above username when connecting
#       to a database, if one is required
dbc_dbpass='12345'

相关内容