web-dev-qa-db-ja.com

ローカルホストではなくドメインのルートアカウントを使用してMySQLをCentOS 6.3にログオンする方法

問題を明確にするかどうかはわかりませんが、特定のドメイン(例:root @ mydomain)のルートアカウントを使用してMySQLをCentOS 6.3にインストールしましたが、ログオンしようとすると、アクセス権のないroot @ localhostアカウントへのパスワードを求められています。 「localhost」ではなく「mydomain」にインストールされているMySQLにログオンするにはどうすればよいですか?

Bind-address = 'domain_ip'を使用してmy.cnfを編集しようとしましたが、役に立ちませんでした。それでもlocalhostパスワードが必要でした。

4
Ziouas

Mysqlは、メインのオペレーティングシステムアカウントとは異なる独自の ユーザーとパスワード 情報を保持します。 root @ localhostおよび[email protected]アカウントは、CentOSでのインストールのデフォルトの管理者アカウントです。

最近このmysqlサーバーをインストールし、パスワードを設定していない場合は、空白のパスワードでアクセスできるはずです。

mysql -u root -p
Enter password: (press enter)

または

mysql -h yourhostname.tld -u root -p
Enter password: (press enter)

これを実行できる場合は、パスワードを設定してシステムを保護する必要があります

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h yourhostname.tld password 'new-password'

または実行

/usr/bin/mysql_secure_installation

これにより、システムを保護するためのさまざまなオプションが提供されます。に特に注意してください

Disallow root login remotely? [Y/n]

質問

通常、ルートは「localhost」からの接続のみを許可されるべきです。これにより、誰かがネットワークからrootパスワードを推測できないようになります。

しかし、あなたはあなたの質問からこれを許可したいように見えます(おそらく実際には許可しませんが)。


他の誰かがあなたのためにこのシステムを設定し、彼らがパスワードを設定している場合は、それを尋ねる必要があります。


パスワードが設定されていて、それを取得できない場合は、OSへのrootアクセス権があれば、次の手順でパスワードをリセットできます。

service mysqld stop
mysqld_safe --skip-grant-tables &
mysql --user=root mysql
update user set Password=PASSWORD('new-password') where user='root';
flush privileges;
exit;

Mysqlを停止します

pkill mysql

そしてサービスを再起動します

service mysql start

既知のパスワードでログオンできるはずです。

7
user9517

デフォルトでは、mysqlサービスはインストールされていますが、開始されていません。サービスが開始されていない場合、rootパスワードは拒否されます。

Mysqlを起動するには:

  1. 画面上部のメインメニューバーの[アプリケーション]> [システムツール]> [ターミナル]にあるターミナルウィンドウを開きます。
  2. ターミナルウィンドウが読み込まれたら、su -と入力してReturnキーを押します
  3. これで、centOSルートパスワードの入力を求められます。入力してEnterキーを押します。 (インストール中にrootパスワードを設定します)。
  4. 次にservice mysqld startと入力して、改行してください

さて、前にやっていたことをやってみてください-つまり、

mysql -uroot -p  

今回は、それが話している「ルート」はMYSQLルートパスワードです(ステップ3で使用したルートパスワードとは異なります。まだ変更していない場合は、デフォルトで空白になります)。

1
James White