【问题标题】:Execute mysql without sudo不使用 sudo 执行 mysql
【发布时间】:2016-09-10 15:55:34
【问题描述】:

我正在尝试在 Odroid C2 上安装 wordpress。 但是wordpress无法访问mysql。

所以,我尝试了这个。

如果我用 sudo 执行 mysql 就可以了。但是,没有 sudo,我做不到。

C2的操作系统是Ubuntu Mate 16.04,所以我安装了mariaDB而不是mysql。

我按照 mariaDB 安装指南进行操作。

没有sudo如何使用mysql,wordpress如何访问数据库。

【问题讨论】:

  • 我不确定您所说的“Wordpress 无法访问 mySQL”是什么意思。 Wordpress 不会关心 mySQL 在哪个用户上运行;它将通过自己的本机协议访问 mySQL。尝试以非 root 身份运行 mySQL 时遇到什么错误?
  • @Morgan 这里有两个级别:系统用户和 mySQL 用户。此刻,他似乎在与前者作斗争。
  • 也许比我更有知识的人可以给你一个完整的答案,但供参考:dev.mysql.com/doc/refman/5.7/en/changing-mysql-user.html 看来不鼓励以 root 身份运行 mySQL。
  • 唯一的原因是您没有权限在数据库中以 root 身份登录。登录并将您的权限授予用户

标签: mysql mariadb sudo


【解决方案1】:

试试这个来解决问题:

登录您的数据库

sudo mysql -u root -p

然后进行这些修改:

MariaDB []>use mysql;
MariaDB [mysql]>update user set plugin='' where User='root';
MariaDB [mysql]>flush privileges;
MariaDB [mysql]>exit

尝试不使用 sudo 再次登录

【讨论】:

  • 感谢您的关注。我试过了,还是不能访问。
  • 在那之后无法连接,即使在sudo
  • 同样的问题,当我尝试时:update user set plugin='' where User='root';我收到错误... ERROR 1356 (HY000): View 'mysql.user' references invalid table(s) or column(s) or function(s) or definitioner/invoker of view 没有使用它们的权限
【解决方案2】:

这应该是 serverfault.com 的问题。但无论如何,请仔细阅读这份清单

  1. 你是不是用 3306 以外的端口启动 mysql
  2. 查看mysql客户端的访问权限为o+rx,即ls -la /usr/bin/mysql
  3. 您是否在 mysqldb/mariadb 中授予“root”以外的用户访问权限。如果 Mysql db 没有运行 sudo,它可能会阻止您使用 root@localhost

因此,如果在第 3 种情况下,您必须创建一个新用户并授予对它的访问权限以解决此问题。即

GRANT ALL ON <YOUR_WP_DATABASE_NAME>.* TO "wpuser"@"localhost" IDENTIFIED BY "somepassword"; 

然后,使用该用户尝试 mysql 以确认它可以正常工作。

【讨论】:

  • 感谢您的帮助。这个对我有用。谢谢。
猜你喜欢
  • 1970-01-01
  • 2011-01-29
  • 1970-01-01
  • 2012-01-24
  • 1970-01-01
  • 2021-05-27
  • 2012-01-02
  • 2020-03-30
  • 1970-01-01
相关资源
最近更新 更多