私はubuntu 14.04/mysql 5.7.12を使用して、デジタル海の液滴にphpmyadminをインストールしようとしています。 ApacheをWebサーバーとして使用するLAMPスタックがあります。
私はphpmyadminが初めてで、なぜこれを取得し続けるのか疑問に思っています。以前のバージョンのmysqlでphpmyadminをインストールするとエラーが発生しませんでした。非ルートのSudoユーザーとしてインストールしようとしています。
方向性や提案は大歓迎です。
私のマシン構成-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ウィザードを使用している場合は、retry;を選択します。実行されない場合_Sudo dpkg-reconfigure phpmyadmin
(php-myadminのデータベースを再インストールするかどうか尋ねられたらはいを選択します)、値を変更せずに通常どおり続行します。何らかの値を変更したい場合は、以前に編集したファイルでそれを行います。
構成ウィンドウで既存の構成ファイルをどうするかを尋ねられたら、現在インストールされているローカルバージョンを保持するを選択します。
この時点で違いを確認できますが、ファイルに作成した違いのみが存在する必要があります。
MySQLの動作がここで変更されたため、いくつかのオプションがあります。
更新: William Ardilaからの回答 で説明されているように、このバグを回避できます。
私は何時間もインターネットを検索しましたが、 this を除いて私のために働いたものはありませんでした。
dbc_dbport=''
をdbc_dbport='0'
に変更した後、他の問題がいくつか発生しました。
構成プロセスを適切に続行できない場合は、次の追加手順を実行します。
最初に、「中止」を選択します。
次に、MariaDBのインストール時に定義したパスワードを使用して、mysqlにrootとしてログインします。
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を自分のものに置き換えて保存します。 (既に正しく設定されている必要があります。)
サーバー設定-Debian 8.x Mysql 5.7 PHP 5 + 7 Apache 2.4
これは動作するはずです:
存在しない場合は、手動で作成し、phpmyadminテーブルのすべての特権を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.
実行dpkg-reconfigure phpmyadmin
rootまたは管理者権限を持つコンソールから
phpmyadminのデータベースの再インストールを選択-はい!!
設定ウィンドウで既存の設定ファイルをどうするか尋ねられたら、「現在インストールされているローカルバージョンを保持する」を選択します。
コンソール出力では、mysql empty portエラーはもうないはずです。
それは私のために働いた。
私の場合、上記のどれも役に立たなかった-どういうわけか、mysql
が実行されていなかった/インストールされていなかった(Sudo systemctl status mysql
で確認)。
Sudo apt-get install mysql-server mysql-client
でmysqlを再インストールします。Sudo dpkg-reconfigure phpmyadmin
で再構成し、デフォルトを受け入れます-今回は少し異なります(ただし、パスワードを設定することもできます)。ところで、phpmyadmin.confのポートはdbc_dbport=''
のままでした。
別の回避策として、Ubuntu 14.04-> 16.04を更新しました。
ウィザードが実行されます:)
一緒に
私のマシン構成-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ウィザードを使用している場合は、再試行を選択します。実行されない場合_Sudo dpkg-reconfigure phpmyadmin
(phpmyadminのデータベースを再インストールするかどうか尋ねられたら[はい]を選択します)、値を変更せずに通常どおり続行します。何らかの値を変更したい場合は、以前に編集したファイルでそれを行います。
構成ウィンドウで既存の構成ファイルをどうするかを尋ねられたら、[現在インストールされているローカルバージョンを保持する]を選択します。
この時点で違いを確認できますが、ファイルに作成した違いのみが存在する必要があります。
解決策この行も変更する必要がありました。
"&& ($analyzed_sql_results['select_expr'][0] == '*')))" to "&& ($analyzed_sql_results['select_expr'][0] == '*'))"
その後、すべてが機能しました!
「mysql」ルートと「mysql」ユーザーの両方にパスワードを追加した後、これを解決しました。 2つのうちの1つまたは両方を空のままにすると、次のことができます。
Sudo -i
小切手:
whoami
「root」の場合、次を入力します。
mysql
、またはmysql -u root -p
すでにルートのパスワードを持っている場合。
mysqlターミナルが開きます。次に、パスワードを追加しました:
mysql> ALTER USER 'root' @ 'localhost' my_sql_native_passwordで 'newpassword'で識別;
および/または必要に応じて「ユーザー」のために同じ。その後、MySQLとphpMyAdminでユーザーのパスワードを同一にしたら、完了しました。
パスワードを追加する前に、@ William Ardillaと@ user5781956のアドバイスを適用しました。おそらく@William Ardillaだけで十分です。