我一直在尝试使用ubuntu 14.04 / mysql 5.7.12在我的digitalocean droplet上安装phpmyadmin。我有一个带有apache的LAMP堆栈作为Web服务器。
我是phpmyadmin的新手,想知道为什么我会继续这样做。以前使用旧版本的mysql安装phpmyadmin是没有错误的。我正在尝试将其安装为非root sudo用户。
任何方向或建议都将不胜感激。
答案 0 :(得分:52)
我的机器配置 - Ubuntu 16.04 - MySql 5.7.13 - PHP 7.0.8 - Apache 2.4.18
编辑文件/etc/dbconfig-common/phpmyadmin.conf,更改
dbc_dbport=''
至dbc_dbport='0'
编辑文件并保存后,如果仍在dbconfig-common向导中,请选择重试;如果没有运行sudo dpkg-reconfigure phpmyadmin
(当询问您是否要为phpmyadmin重新安装数据库时选择是)并正常继续而不更改任何值。如果要更改某个值,请在之前编辑过的文件中进行更改。
当配置窗口询问您要对现有配置文件执行的操作时,请选择保留当前安装的本地版本。
此时,您可以检查差异,只检查您在文件中必须存在的差异。
答案 1 :(得分:6)
这里的MySQL行为发生了变化,所以你几乎没有选择:
更新:您可以按照answer from William Ardila。
中的说明解决此错误答案 2 :(得分:6)
我在互联网上搜索了好几个小时但除了this之外没有人能为我工作。
将dbc_dbport=''
更改为dbc_dbport='0'
后,我仍遇到其他一些问题。
如果您无法正常继续配置过程,请执行以下附加步骤:
首先,只需选择中止。
然后使用您在安装MariaDB时定义的密码以root身份登录mysql。
mysql -u root -p
接下来,发出以下命令:
CREATE DATABASE phpmyadmin;
然后,发出以下命令: (不要忘记用您自己选择的密码替换 changethispassword 。)
GRANT ALL ON phpmyadmin.* TO phpmyadmin@localhost IDENTIFIED BY 'changethispassword';
使用:
退出 mysql>\q
接下来,编辑数据库配置:
sudo gedit /etc/phpmyadmin/config-db.php
使用您刚刚定义的密码编辑dbpass参数。
<?php
##
## database access settings in php format
## automatically generated from /etc/dbconfig-common/phpmyadmin.conf
## by /usr/sbin/dbconfig-generate-include
##
## by default this file is managed via ucf, so you shouldn't have to
## worry about manual changes being silently discarded. *however*,
## you'll probably also want to edit the configuration file mentioned
## above too.
##
$dbuser='phpmyadmin';
$dbpass='changethispassword';
$basepath='';
$dbname='phpmyadmin';
$dbserver='localhost';
$dbport='';
$dbtype='mysql';
将 changethispassword 替换为您自己的并保存。 (它必须已经正确设置。)
答案 3 :(得分:4)
我们的服务器配置 - Debian 8.x. Mysql 5.7 PHP 5 + 7 Apache 2.4
这应该有效:
如果它们不存在,请在phpmyadmin表上手动创建它们并使GRANT phpmyadmin用户拥有所有权限。
手动编辑/etc/dbconfig-common/phpmyadmin.conf,以反映您当前的mysql服务器设置
dbc_dbserver = 'your_server'
dbc_dbport = 'your_mysql_port'
and any dbc_ fields that you feel need completion at this time
/etc/phpmyadmin/config-db.php
,以反映您当前的mysql服务器设置$dbserver = same_as_above
$dbport = your_mysql_listening_port
etc. - any other fields that you feel needs completing.
使用root或管理权限从控制台运行dpkg-reconfigure phpmyadmin
选择重新安装phpmyadmin的数据库 - YES !!
当配置窗口询问您要对现有配置文件执行的操作时,请选择 - “保留当前安装的本地版本”。
在控制台输出中,您不应再有任何mysql空端口错误。
这对我有用。
答案 4 :(得分:1)
上述情况都没有对我的情况有所帮助 - 因为,mysql
未运行/未安装(请sudo systemctl status mysql
检查)。
sudo apt-get install mysql-server mysql-client
重新安装mysql。sudo dpkg-reconfigure phpmyadmin
重新配置并接受默认值 - 这次它们会有所不同(但您可能需要设置密码)。顺便说一句,phpmyadmin.conf中的端口仍为dbc_dbport=''
。
答案 5 :(得分:1)
另一种解决方法,我正在更新Ubuntu 14.04-> 16.04:
向导将通过:)
答案 6 :(得分:0)
我在向“ mysql” root和“ mysql”用户添加密码后解决了这个问题。如果您将其中一个或两个都留空,则可以执行以下操作:
sudo -i
检查:
whoami
如果是“ root”,请输入:
mysql
或mysql -u root -p
(如果您已经具有root用户的密码)。
mysql终端打开;然后我添加了密码:
mysql> ALTER USER'root'@'localhost'由my_sql_native_password标识为'newpassword';
和/或“用户”(如果需要)相同。然后,一旦我在MySQL和phpMyAdmin中为用户设置的密码相同,就完成了。
在添加密码之前,我应用了@William Ardilla的建议以及@ user5781956的建议。也许只有@William Ardilla的就足够了。
答案 7 :(得分:0)
伴随
我的机器配置-Ubuntu 16.04-MySql 5.7.13-PHP 7.0.8-Apache 2.4.18
编辑文件/etc/dbconfig-common/phpmyadmin.conf
,进行更改
dbc_dbport='' to dbc_dbport='0'
编辑文件并保存后,如果仍然在dbconfig-common向导中,请选择retry;如果未运行,则运行sudo dpkg-reconfigure phpmyadmin
(在询问您是否要为phpmyadmin重新安装数据库时选择“是”),然后继续正常运行而不更改任何值。如果要更改某些值,请在之前编辑的文件中进行。
当配置窗口询问您要使用现有配置文件做什么时,请选择“保留当前安装的本地版本”。
这时您可以检查差异,只有那些必须存在于文件中的差异。
解决方案我还必须更改此行:
"&& ($analyzed_sql_results['select_expr'][0] == '*')))" to "&& ($analyzed_sql_results['select_expr'][0] == '*'))"
之后一切正常!