問題を明確にするかどうかはわかりませんが、特定のドメイン(例:root @ mydomain)のルートアカウントを使用してMySQLをCentOS 6.3にインストールしましたが、ログオンしようとすると、アクセス権のないroot @ localhostアカウントへのパスワードを求められています。 「localhost」ではなく「mydomain」にインストールされているMySQLにログオンするにはどうすればよいですか?
Bind-address = 'domain_ip'を使用してmy.cnfを編集しようとしましたが、役に立ちませんでした。それでもlocalhostパスワードが必要でした。
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
既知のパスワードでログオンできるはずです。
デフォルトでは、mysqlサービスはインストールされていますが、開始されていません。サービスが開始されていない場合、rootパスワードは拒否されます。
Mysqlを起動するには:
su -
と入力してReturnキーを押しますservice mysqld start
と入力して、改行してくださいさて、前にやっていたことをやってみてください-つまり、
mysql -uroot -p
今回は、それが話している「ルート」はMYSQLルートパスワードです(ステップ3で使用したルートパスワードとは異なります。まだ変更していない場合は、デフォルトで空白になります)。