web-dev-qa-db-ja.com

rootパスワードを要求するmysqlのフレッシュインストール

数年前、私は自分のMacにApache、php、mysqlをインストールしようとしました。私はすべてうまくいきましたが、結局私はコマンドラインですべてをやることにうんざりしていたので、mampに切り替えました

今、私はmampの遅さにうんざりしていて、コマンドラインを使用して上達したいと考えています。私はそれを自分で(まあ、Macポートで)セットアップしようとしていますが、mysql rootユーザーのパスワードを忘れました。大きな問題はありません。必要なデータはありません。再インストールします。

私はmysqlをアンインストールし、mysqlを再インストールして実行しました。

Sudo -u _mysql mysql_install_db5 /opt/local/share/mysql5/mysql/mysql.server start

すべて正常に動作しましたが、mysqladmin5 -u root -p pingはパスワードを要求し、mysqladmin5 -u root pingは機能しません。

3
msaspence

問題は、私が修正するためにパスワードをリセットするrootユーザーがいなかったことでした:シェル:

/opt/local/share/mysql5/mysql/mysql.server stop 
/opt/local/share/mysql5/mysql/mysql.server start --skip-grant-tables 

mysql:

 user mysql; 
 insert into user(Host、User、Password)values( 'localhost'、 'root'、 ''); 
 update user set Select_priv = 'Y' 、Insert_priv = 'Y'、Update_priv = 'Y'、Delete_priv = 'Y'、Create_priv = 'Y'、Drop_priv = 'Y'、Reload_priv = 'Y'、Shutdown_priv = 'Y'、Process_priv = 'Y'、File_priv = 'Y'、Grant_priv = 'Y'、References_priv = 'Y'、Index_priv = 'Y'、Alter_priv = 'Y'、Show_db_priv = 'Y'、Super_priv = 'Y'、Create_tmp_table_priv = 'Y'、Lock_tables_priv = ' Y '、Execute_priv =' Y '、Repl_slave_priv =' Y '、Repl_client_priv =' Y '、Create_view_priv =' Y '、Show_view_priv =' Y '、Create_routine_priv =' Y '、Alter_routine_priv =' Y '、Create_user_priv =' Y 'ここで、user = 'root'; 
 exit; 

シェル:

/opt/local/share/mysql5/mysql/mysql.server stop 
/opt/local/share/mysql5/mysql/mysql.server start 
 mysql -u root 

mysql:

 *。*のすべての特権を 'root' @ 'localhost'に付与オプションで付与します; 

詳細はこちら: http://helpfromfriend.com/database/mysql/how-to-recreate-root-account-in-mysql/

3
msaspence

Dev.mysql.com/doc/refman/5.1/en/default-privileges.htmlから:

Mysql.user許可テーブルは、初期MySQLユーザーアカウントとそのアクセス権限を定義します。

一部のアカウントには、ユーザー名rootがあります。これらはすべての特権を持ち、何でもできるスーパーユーザーアカウントです。 最初のrootアカウントのパスワードは空ですので、誰でもパスワードなしでrootとしてMySQLサーバーに接続し、すべての権限を付与できます。

Rootパスワードをリセットする手順は ここにあります のようになります。

2
Rob

Mysqldを停止し、コマンドラインから--skip-grant-tablesオプションを使用すると、パスワードなしでrootとしてログインできます。次に、rootパスワードを覚えやすいものに設定できます。

USE mysql;
UPDATE user SET `password` = PASSWORD('your new password') WHERE user = 'root';
FLUSH PRIVILEGES; 

ただし、これを行った後は必ずmysqldを停止して通常どおり再起動してください。これにより、クライアントは再度パスワードをチェックされます。

0
cHao

Macはよくわかりませんが、Windowsで同じ問題が発生しました。 MySQLの新規インストールで、現在のrootパスワードを要求します。この問題を取り除く方法への答えは、少なくともウィンドウズにとっては非常に簡単です。

まず最初に、コンピュータ上のすべてのMySQLフォルダを削除してください。 Windowsでは、これにはインストールディレクトリが含まれますが、//すべてのユーザー/アプリケーションデータXPこのディレクトリは、C:\ Documents and Settingsにあります。そして、実際には、この単純な解決策は思いもしませんでした。まず、Windowsはレジストリにすべてのサービスを追加します。レジストリにあるサービスを削除するには、次のように入力します。

この場合、cmdプロンプトで「ServiceName」をsc削除します。

mySQLのsc削除

たぶん、同じ解決策が何らかの形でMACに適用されます。

0
Wolominiarz