2017-11-05 11 views
0

私はMySQLを使用していないのは長い時間です。MySQL - "データベース名"設定はどこですか?

define ('DB_HOST', 'localhost'); 
define ('DB_NAME', 'patbrt_cv'); 
define ('DB_USER', 'patbrt_cv_user'); 
define ('DB_PASS', 'password'); 

今日、私はテストのために(EasyPHP使用して)私のローカルサーバーへの私のテーブルのいずれかを(phpMyAdminにからエクスポート)をインポートすると、これを実行する必要があります。

私のようなWordpressのは、接続変数を使用して使用していくつかのウェブサイトを持っています私は、phpMyAdminの設定ファイル(「config.inc.phpファイル」)

$cfg['Servers'][$i]['host'] = '127.0.0.1'; 
$cfg['Servers'][$i]['user'] = ''; 
$cfg['Servers'][$i]['password'] = ''; 

しかし、「データベース名」に定義された(DB_NAMEの設定)を使用する必要がありますか?ローカルデータベースサーバ(EasyPHP)で設定する方法は?私はこの設定を "config.inc.php"ファイル(phpmyadminで使用)で見つけることができません。

私は現在、データベースの輸入は、あなたのPHPクライアント場合

CREATE DATABASE IF NOT EXISTS `patbrt_cv` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci 
MySQL: Access denied for user ''@'localhost' to database 'patbrt_cv' 
+0

あなたは手動で '$ cfg ['Servers'] [$ i] ['dbname'] = 'patbrt_cv';'を追加しようとしましたか? 'user'は' patbrt_cv'データベースを操作する権限を持っていますか? –

答えて

0

をしようとした直後に取得し、このエラーを回避するためにBigDump(正常にインストール)を使用してEasyPHPに私のウェブサイトのいずれかから私のテーブルのいずれかをインポートするには、この設定を必要とします既にMySQLにログインしている場合は、クエリUSE mydatabase;を使用してデータベースにアクセスできます。

MySQL接続文字列でデータベースを選択することもできます。

MySQLにログインするときに、資格情報のセット(起点ホスト/ usename /パスワード)を使用します。その資格情報セットは、使用するデータベースにアクセスするためのアクセス権がGRANTである必要があります。あなたの例では、ユーザ名とパスワードの長さゼロの文字列を持っている - ここに示すように:

$cfg['Servers'][$i]['user'] = ''; 
$cfg['Servers'][$i]['password'] = ''; 

あなたのエラーメッセージが、これは言う:

のMySQL:アクセスがローカルホスト「「@」」ユーザのために拒否されましたデータベース「patbrt_cv」に

これはあなたのPHPのプログラムが正常にトンを使用する特権を持っていないlocalhost/(empty)/(empty)の起源/ユーザ名/パスワード資格の組み合わせが、その特定の資格の組み合わせを使用してMySQLサーバにログインしていること彼はデータベースpatbrt_cv、またはおそらくサーバー上に既に存在するデータベースの一覧を取得する特権を持っていません。

rootのユーザ名と、ローカルのMySQLサーバに設定されているrootパスワードを試してみてください。それはあなたのサーバーにすでに存在するデータベースのリストを取得するためにコマンドSHOW DATABASES;を発行するようなことをするためにあなたのPHPプログラムにサーバへのアクセスを与えるでしょう。

EasyPHPはWindowsバンドルです。つまり、優れたWindows MySQLクライアントを使用することができます。 HeidiSQL(https://www.heidisql.com/download.php)のようなクライアントをダウンロードしてインストールし、それを使ってローカルMySQLシステムの内容を調べます。また、ユーザー資格情報とgrantint権限を作成するためのシステムもあります(ツール/ユーザーマネージャー)

資格情報のこのビジネスはなぜ複雑ですか? MySQLは、異なるユーザがそれぞれの存在を知ることなく、また他のユーザのデータを見ることなく、異なるデータベースを使用する共有マルチテナントシステムであるように設計されているからです。自分のマシンでMySQLを実行しても、それらのマルチテナント機能は使用しませんが、まだ存在しています。

関連する問題