首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql服务器中没有mysql数据库--我如何授予用户权限?

mysql服务器中没有mysql数据库--我如何授予用户权限?
EN

Database Administration用户
提问于 2015-08-19 06:09:00
回答 1查看 1.9K关注 0票数 2

我在本地的Ubuntu 14机器上运行了mysql服务器(5.5.44)。我可以通过

代码语言:javascript
复制
$ mysql

当我要求查看所有的数据库时,只有一个

代码语言:javascript
复制
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
+--------------------+

如果我试图创建一个新的数据库,就会得到一个错误。

代码语言:javascript
复制
mysql> CREATE DATABASE purchases;
ERROR 1044 (42000): Access denied for user 'danielsank'@'localhost' to database 'purchases'

我对如何解决这个问题感到困惑。我习惯于mysql服务器总是有一个名为mysql的数据库,其中包含用户访问数据:密码、允许的主机等等。我的服务器安装似乎没有。

如果服务器中没有mysql数据库,我如何给自己创建新表的权限?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2015-08-19 06:09:00

这里的问题是,我调用mysql作为用户danielsank,但该用户没有创建新表的权限,也没有查看mysql数据库的权限!

通过将mysql作为root调用,问题变得清晰起来。

代码语言:javascript
复制
$ mysql -u root

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+

现在我们可以看到mysql数据库了,我们可以检查它的用户信息。

代码语言:javascript
复制
mysql> USE DATABASE mysql;
mysql> SELECT User, Host, Password FROM user;
+------------------+-------------------------+-----------------------------+
| User             | Host                    | Password                    |
+------------------+-------------------------+-----------------------------+
| root             | localhost               |                             |
| root             | <my machine name>       |                             |
| root             | 127.0.0.1               |                             |
| root             | ::1                     |                             |
| debian-sys-maint | localhost               | *<a really long string>     |
| danielsank       | localhost               |                             |
+------------------+-------------------------+-----------------------------+

我们可以创建新的数据库

代码语言:javascript
复制
mysql> CREATE DATABASE purchases;

并授予danielsank的权限

代码语言:javascript
复制
mysql> GRANT ALL PRIVILEGES ON purchases . * TO 'danielsank'@'localhost';
票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/111502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档