.my.cnf設定が機能しないのはなぜですか?


15

デスクトップのホームディレクトリに.my.cnfファイルがあります。

[dbid]
user = myusername
password = mypassword
database = dbname
host = server.location.com

正しく思い出すと、Ubuntu 10.04から11.04にアップグレードする前に、次のコマンドを使用できました。

mysql dbid

データベースに直接接続するには

しかし、今日私はこのエラーを受け取ります:

ERROR 1049 (42000): Unknown database 'dbname'

私は何か間違ったことをした?


更新に含めた回答に基づいて、これを「実際の質問ではない」というフラグを立てました。問題は、データベースに関係するのではなく、IPアドレスに加えられた変更に関係していました。それを閉じる必要があるのか​​、それとも答えとしてアップデートを提供すべきなのか、本当にわかりません。
デビッドルバウアー

多くの場合、アカウントにコメントするだけで十分です。「#」と一緒に使用しないでください。

私はあなたの言うことを理解していません-これはどのように質問に答えますか?
デビッドルバウアー

回答:


22

以前の.my.cnfがどのように機能したかはわかりませんが、実際にこれらのファイルを使用したことはありません(主にそれらについて知らなかったため)。そのため、少し調査した後、このリンクを見つけて、次の〜/ .my.cnfを見つけました。

[clientdbid]
password = mypass
database = dbname
host = server.location.com

そしてそれを読むコマンド:

mysql --defaults-group-suffix=dbid

いくつか指摘すべき点(リンクされている記事のハイライト):

  • mysqlによって読み取られるように、グループの前に「client」が必要です
  • [クライアント]グループの後に移動する必要があります。そうでない場合は上書きされます

これをMacのmysql 5.5でテストしましたが、うまくいきました。そして今、私はそれらについて知っているので、それらを使用します!

更新 これを設定した後、コマンドラインmysql --defaults-group-suffix=dbidが少し重いことがわかりました。追加のボーナスとして、Linux / Mac / Etcを実行していると仮定すると、次のようにします。

echo 'alias mysql_dbid="mysql --defaults-group-suffix=dbid"' >> ~/.profile

dbidサフィックスグループの名前はどこにありますか。


@DTestよろしくお願いします!+1(BTWおめでとうございますmysqlバッジ)
RolandoMySQLDBA

これに賛成票を投じるつもりだったので、Wow Dejavuと言いました。これは数ヶ月前からでした。
-RolandoMySQLDBA

0

データベース管理者が問題を発見するのを助けてくれたので、この質問を引き起こした元の問題の解決策を以下に示します。

問題(私が理解しているように)は、データベースが特定のIPアドレスに基づくコンピューターへのアクセスのみを許可することでした。新しいコンピューターを入手したときにIPアドレスが変更され、データベース管理者の言葉で言うと、異なるIPアドレスでセットアップされたアカウントに異なるパスワードがありました

ここには、user @ olddesktopip.edu、user @ newdesktopip.edu、およびIPアドレスに基づいて、いくつかの異なるユーザー名があります。混乱を引き起こしたパスワードはすべて同じではなかったので、トラブルのせいでした。


0

Derek Downeyのアップデートのアップデートとして、これは異なるLinuxコンピューターで共通の〜/ .my.cnfファイルを使用し、ホスト名に応じて適切なセクションを自動的に選択する方法です。

echo 'alias mysql="mysql --defaults-group-suffix=$HOST"' >> ~/.bash_aliases

その後、コマンドラインで入力する必要があるのはのみmysqlです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.