我正在尝试让emoncms在一个共享主机mediatempleweb服务器上工作,该服务器具有经过验证的先决条件,比如mod\u rewrite和lamp server。我已经用用户和密码创建了数据库,配置了 settings.php
尽我所能。
/ - this is root
/emoncmsdata - Its 777 for data folders /phpfina & /phpfiwa & /phptimeseries
/httpdocs - this is my public folder
/httpdocs/emoncms - this is where the settings.php is and where modules are
但当我进入 santiapps.com/emoncms/
我得到:
无法连接到数据库,请在settings.php中验证凭据/配置
错误消息:用户“marskoko”@“localhost”的访问被拒绝(使用密码:否)。
我已经把数据库,用户和密码在脚本中。我已经检查过了,通过他们的密码重置了。
我知道该用户的密码是正确的,因为我可以使用mysql-u user-p pass通过终端用密码登录,然后我得到mariadb服务器,然后我可以输入use emoncms,提示显示我连接到emoncms。
这个 emoncms.log
应用程序创建的文件为空。我在web server error.log中发现了一堆这样的错误:
【2018年9月28日星期五20:53:23.620729】【代理人】_fcgi:error][pid 8219:tid 140039956670208][client 83.139.179.122:35214]ah01071:出现错误“primary script unknown\n”
我查看了大部分关于这个用户的帖子password:no issue 它们都与根有关,而我不是。我在用另一个叫marskoko的用户。
拒绝访问用户“root”@“localhost”(使用密码:否)?无法验证php/mysql?
我无法停止或启动服务器,我已尝试停止mysql服务,但我得到:
重定向到/bin/systemctl stop mysql.service
停止mysql.service失败:未加载单元mysql.service。
4.a)最近有人建议我尝试:
service mysqld restart
但我得到了一个类似的错误:
重定向到/bin/systemctl restart mysqld.service
无法重新启动mysqld.service:找不到单元。
但我知道它正在运行,否则我将无法查看我的其他数据库。
我创建了这个php文件:
<?php
$db = mysqli_connect("localhost","marskoko","myPasshasAdollarSign") or die("Failed to open connection to MySQL server.");
mysqli_select_db($db, "emoncms") or die("Unable to select database");
\>
然后运行它,我得到这个:
无法打开到mysql服务器的连接。
5.a)当我使用 mysqli_connect_error()
我得到:
拒绝访问用户“emonuser”@“localhost”(使用密码:否)
注意:用户是不同的,因为我想确保数据库或用户没有任何问题,所以我删除了数据库,重新创建了它,并更改了用户名。数据库仍然存在,我仍然可以通过mariadb使用mysql命令和相同的密码访问它。
我试过这个建议: ps aux | grep mysql
我明白了:
mysql 7766 0.0 0.0 113200 1588 ? Ss Sep28 0:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
mysql 8286 0.7 5.4 1906888 457400 ? Sl Sep28 5:12 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/lib/mysql/activacorp.net.err --pid-file=activacorp.net.pid --socket=/var/lib/mysql/mysql.sock --port=3306
root 15702 0.0 0.0 112600 1068 pts/0 S+ 09:17 0:00 grep --color=auto mysql
我刚刚尝试使用user/pass登录数据库,并尝试获取用户表,但得到以下结果:
MariaDB [emoncms]> select * from user;
ERROR 1146 (42S02): Table 'emoncms.user' doesn't exist
然后我再次检查了我所有的数据库,其中也没有users表。它们有我添加并使用的其他表,但没有用户表。也许是phpmyadmin藏了起来,我不知道。
我不知道还有什么好尝试的。
2条答案
按热度按时间5rgfhyps1#
好吧,我想出来了。在php中,我尝试在emoncms的index.php中记录$password变量,它记录为空,而用户名、数据库或其他变量记录正确。最后我在mysqli行中用$password替换了实际的密码,现在可以了。所以我就把$password“”替换成了“”,现在可以用了。
lhcgjxsq2#
我想你可以通过以下步骤来解决这个问题
使用服务mysqld start/stop/restart而不是服务mysql start/stop/restart来启动/停止mysql
确保您获得了正确的mysql user-root密码,如果没有,请按照步骤3重置密码,否则跳过步骤3
编辑mysql配置文件,通常
/etc/my.cny
,添加skip-grant-tables
在[mysqld]下,重启mysql,现在可以不用密码进入mysql,然后用更新mysql.user set authentication_string=password('123qwe'),其中user='root'和host='localhost';
刷新特权;
就这些,请检查一下