首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql root用户总是带着默认的所有特权吗?

问mysql root用户总是带着默认的所有特权吗?
EN

Stack Overflow用户
提问于 2017-11-11 02:18:33
回答 2查看 789关注 0票数 1

我按照this的答案在Ubuntu16.04上设置我的根密码。msql --version给了我以下内容:

代码语言:javascript
复制
mysql  Ver 15.1 Distrib 10.0.31-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

在回答之后,当我输入UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';时,我得到以下内容:

代码语言:javascript
复制
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

我发现,当我使用相同的密码键入相同的命令时,它会给出如下内容:

代码语言:javascript
复制
Query OK, 0 row affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0

我认为这是正确的。然后,我输入最后两个命令,当我输入mysql -uroot -p,然后输入password,我仍然可以得到以下内容:

代码语言:javascript
复制
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

有什么我跳过的极新秀吗?或者任何命令来输出更多的数据?

更新

当我输入sudo service mysql status时,我得到以下内容:

代码语言:javascript
复制
   Active: active (running) since Sáb 2017-11-11 00:44:57 BRST; 5s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 4808 ExecStop=/etc/init.d/mysql stop (code=exited, status=0/SUCCESS)
  Process: 5330 ExecStart=/etc/init.d/mysql start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/mysql.service
           ├─5358 /bin/bash /usr/bin/mysqld_safe
           ├─5502 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-log-error --p
           └─5503 logger -t mysqld -p daemon error

Nov 11 00:44:56 acer mysqld[5503]: 171111  0:44:56 [Note] InnoDB: 128 rollback segment(s) are active.
Nov 11 00:44:56 acer mysqld[5503]: 171111  0:44:56 [Note] InnoDB: Waiting for purge to start
Nov 11 00:44:56 acer mysqld[5503]: 171111  0:44:56 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.36-82.0 started; log sequence nu
Nov 11 00:44:56 acer mysqld[5503]: 171111  0:44:56 [Note] Plugin 'FEEDBACK' is disabled.
Nov 11 00:44:56 acer mysqld[5503]: 171111  0:44:56 [Note] Server socket created on IP: '127.0.0.1'.
Nov 11 00:44:56 acer mysqld[5503]: 171111  0:44:56 [Warning] 'user' entry 'root@localhost' has both a password and an authentication plugin spe
Nov 11 00:44:56 acer mysqld[5503]: 171111  0:44:56 [Note] /usr/sbin/mysqld: ready for connections.
Nov 11 00:44:56 acer mysqld[5503]: Version: '10.0.31-MariaDB-0ubuntu0.16.04.2'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  Ubuntu 16.04
Nov 11 00:44:57 acer mysql[5330]:    ...done.
Nov 11 00:44:57 acer systemd[1]: Started LSB: Start and stop the mysql database server daemon.

正如here所显示的,我看到我的日志应该是正常的。对吗?

更新

This answer为我工作。但是为了寻找根权限,我最终使用了this question,它说“我的根用户并不拥有所有特权”。这是一个标准吗?如果是,root用户不应该拥有所有这些特权吗?不是吗,为什么?这是个安全问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-11 04:05:17

我的理解是,默认情况下,root@localhost具有完全的权限,而root@% (远程连接作为根)没有。在日常数据库使用中,不应该使用根帐户。

如果您需要使用超级用户权限进行远程连接,我建议您创建一个admin帐户,它可以完成所需的任务。(您仍然可以远程进入和访问根帐户。)特定的安全条款(管理员需要什么权限)可能是一个单独的问题--可能是一个无法回答的问题,除非您可以非常具体地了解您的用例。

票数 2
EN

Stack Overflow用户

发布于 2017-11-11 02:36:10

MySQL 5.7.6及更高版本:

更改用户“root”@“localhost”,由“您的新密码”标识;

MySQL 5.7.5及更高版本:

设置密码为'root'@'localhost‘=密码(’您的新密码‘);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47233708

复制
相关文章

相似问题

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