私のウェブサイトは共有ホスティングサービスでホストされており、MySQLデータベースに保存されている更新されたニュースで正常に動作しています。 Webサイトのデータベースを管理するには、Webサイトで使用されているのと同じユーザー名とパスワードを使用して、phpMyAdminをサブフォルダーにインストールします。
PhpMyAdminにログインすると、データベースが表示されません。 phpMyAdminの左ペインに「データベースなし」と表示されています。
PhpMyAdminで設定する必要があるものはありますか?
編集済み:これはconfig.inc.phpの設定です。 phpMyAdminに正常にログインできます。
$cfg['Servers'][$i]['Host'] = 'hostname';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'dbuser';
$cfg['Servers'][$i]['password'] = 'password';
問題は、dbユーザーに「SHOW DATABASES」権限がないことです。そのため、phpMyAdminにデータベースが表示されません。
最初に[SQL]タブで[USE mydatabase]をクエリする必要があります。その後、データベースを表示および管理できます。
正規表現を受け入れるため、$cfg['Servers'][$i]['hide_db']
を変更する必要があります。デフォルトは次のとおりです。
$cfg['Servers'][$i]['hide_db']='(mysql|information_schema|performance_schema|test|phpmyadmin)';
次のように変更する必要があります。
$cfg['Servers'][$i]['hide_db']='^(mysql|information_schema|performance_schema|test|phpmyadmin)$';
これで、正確なデータベースのみがphpMyAdminで非表示になり、名前にこれらの単語が含まれているデータベースは非表示になりません。
Hide_dbの公式ドキュメントは次の場所にあります: http://docs.phpmyadmin.net/en/latest/config.html?highlight=hide_db#cfg_Servers_hide_db 非常に奇妙なことですが、デフォルトでは行われていません
これは役に立たないかもしれませんが、他の人を助けるかもしれません。 EasyPHP wampスタックをインストールし、phpMyAdminでデータベースを作成できましたが、データベースのリストに表示されませんでした。コマンドラインコンソールからmysqlに手動でログインすると、データベースが表示されました。これで頭を壁にぶつけていた。
データベースにtest1
という名前を付け、phpMyAdmin構成ファイルにはtestで始まるデータベースを無視する特別な行があることがわかりました。
$cfg['Servers'][$i]['hide_db'] = '(mysql|information_schema|performance_schema|test|phpmyadmin)';
この行を見ても、test
という正確な名前をブロックしているだけだと思いました。ただし、computer
などの別のランダムなデータベース名を追加すると、すぐにデータベースのphpMyAdminリストに表示されるため、Wordテストで始まる(または含まれる可能性がある)すべてのものがブロックされるようです。
したがって、解決策は、上記の構成行を編集するか、名前にtestを含むデータベースを作成しないことです。
構成ファイルをセットアップする必要があると思います