不使用sudo执行mysql

5

我正在尝试在Odroid C2上安装WordPress。然而,WordPress无法访问MySQL。

enter image description here

所以,我尝试了这个。

enter image description here

如果我使用sudo执行mysql,就可以正常运行。但是,没有sudo,我就无法运行。

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

我按照mariaDB安装指南进行了安装。

如何在没有sudo的情况下使用mysql,并让我的wordpress访问数据库。


我不确定你所说的“Wordpress无法访问mySQL”的意思。 Wordpress不会关心mySQL运行在哪个用户下; 它将通过自己的本地协议访问mysQL。 当您尝试以非root身份运行mySQL时,您遇到了什么错误? - Pekka
@Morgan 这里有两个层面:系统用户和MySQL用户。目前,他似乎在应对前者方面遇到了困难。 - Pekka
也许比我更有知识的人可以给你一个完整的答案,但供参考:http://dev.mysql.com/doc/refman/5.7/en/changing-mysql-user.html 看起来以root身份运行mySQL是不被推荐的。 - Pekka
唯一的原因是您没有在数据库中以root身份登录的权限。请登录并授予用户相应的权限。 - Bernd Buffen
2个回答

6
尝试以下步骤解决问题:

登录您的数据库

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重新登录


1
谢谢您的关注。我尝试了,但仍然无法访问。 - Karl
即使使用 sudo 也无法连接。 - Glastis
相同问题,当我尝试:update user set plugin='' where User='root'; 时,我遇到错误... 错误1356(HY000):视图'mysql.user'引用了无效的表格或列或函数或视图的定义者/调用者缺乏使用它们的权限。 - Joe Molnar

3
这应该是一个serverfault.com的问题。但无论如何,按照以下清单进行检查:
  1. 您是否使用除3306端口之外的端口启动mysql
  2. 检查mysql客户端的访问权限是否为o+rx,即ls -la /usr/bin/mysql
  3. 在mysqldb/mariadb中是否授予用户"root"以外的访问权限。如果没有sudo权限,则Mysql数据库可能会阻止您使用root@localhost
所以,如果是第3种情况,您必须创建一个新用户并授予其访问权限以解决此问题。例如:
GRANT ALL ON <YOUR_WP_DATABASE_NAME>.* TO "wpuser"@"localhost" IDENTIFIED BY "somepassword"; 

之后,尝试使用该用户使用mysql确认其是否可用。


谢谢你的帮助。它对我有用。谢谢。 - Karl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接