0

私は MySQL を初めて使用し、いくつかの一般的な問題が発生しました。助けてくれてありがとう:

私の OS は MAC SnowLeopard です。ターミナルで「mysql」と入力すると、mysql システムに正常に入ることができましたが、データベースを作成する権限がありません。

mysql> create database A;
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'a'

コマンドライン「mysql -u root」を試したところ、次の結果が得られました。

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

データベースのユーザー名を設定しようと思っていたのですが、ルートをユーザー名として使用して mysql に入ることができませんでしたか?

次に、ユーザー名として「localhost」を試しました。これは、設定したかどうかにかかわらず、コマンド「mysql -u localhost」を使用して、mysql に正常にログインできましたが、それでもデータベースを作成できませんでした。

mysql> create database a;
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'a'

私はわかりません:

  1. ルートが機能しない理由;
  2. 天気 前にユーザー名とパスワードを自分で設定しました...申し訳ありません...本当に記憶がありません。
  3. 以前にユーザー名を「localhost」として設定した場合、パスワードを思い出せないため、データベースを作成する権限がありませんか?
  4. root アクセス権がない場合、パスワードを回復するにはどうすればよいですか?
  5. できない場合、アンインストールする方法を教えてください。mysql の .bash_profile の PATH は/usr/local/mysql/bin

チェックを入れました: sudo port list installed | grep mysql

mysql5                         @5.1.65         databases/mysql5
mysql5                         @5.1.65         databases/mysql5
py26-mysql                     @1.2.3          python/py-mysql

/usr/local/mysql/bin の mysql は、ここにリストされているものを参照していますか?

編集 ps -ef | を実行した結果 grep mysql:

    0   107     1   0   0:00.01 ??         0:00.02 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/XXX-MacBook-Pro.local.pid
   74   245   107   0   0:03.51 ??         0:18.35 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/mysql/plugin --user=mysql --log-error=/usr/local/mysql/data/XXX-MacBook-Pro.local.err --pid-file=/usr/local/mysql/data/XXX-MacBook-Pro.local.pid
  501  3790   417   0   0:00.00 ttys000    0:00.00 grep mysql
  501  3337  1271   0   0:00.00 ttys001    0:00.01 mysql -u localhost
4

1 に答える 1

0

root パスワードをリセットする必要があります。これを行うには、次の簡単な手順に従います。

  • MySQL を停止します。sudo port unload mysql5-server
  • を使用して MySQL を起動します。/opt/local/lib/mysql5/bin/mysqld_safe --skip-grant-tables &
  • MySQL に接続します。mysql -uroot
  • MySQL パスワードをリセットします。
    • mysql> mysql を使用します。
    • mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
    • mysql> 権限をフラッシュします。
    • mysql>終了
  • MySQL を再度停止するsudo killall -9 mysqld_safe
  • MySQL を通常どおり再起動しますsudo port load mysql5-server
  • MySQL に接続します。mysql -uroot -p

編集

MySQL を停止/開始するコマンドを追加しました。

于 2012-10-03T20:56:34.463 に答える