1

このチュートリアルに従って、mysql5.5にアップグレードしました。

私が行うすべてのステップを完了した後$ mysql -u root -pXXXX、それは言う:

Error 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES).

チュートリアルは以前はうまくいきましたが、今はこの問題があります。ubuntu + mysql 5.1を再インストールし、「mysql -u root -pXXXX」を実行しても問題はありませんが、5.5にアップグレードした後、上記のエラーが再び発生します。

これは私の/etc/my.cnfです:

# The following options will be passed to all MySQL clients
[client]
#password    = your_password
port        = 3306
socket        = /var/run/mysqld/mysqld.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
user            = mysql
socket        = /var/run/mysqld/mysqld.sock
port        = 3306
basedir         = /usr/local/mysql
datadir         = /usr/local/mysql/data
tmpdir          = /tmp
log_error       = /var/log/mysql/error.log
skip-external-locking
...

何か案が?

編集:解決しました。5.5にアップグレードする前にデータベースを削除しているので、ユーザー「root」のバックアップを作成する必要があります。

よろしく

ジャビ

4

4 に答える 4

2

本当に間違ったパスワードを使用していると言っているだけです...

root パスワードをリセットする必要があるかもしれませんが、理由はわかりません (アップデーターが上書きしたのでしょうか?)。手順は次のとおりです。

  1. mysqld デーモンが実行されていないことを確認してください。
  2. mysql/bin ディレクトリに移動します
  3. mysqlデーモンを開始しmysqld_safe --skip-grant-tablesます(PIDに注意してください)
  4. コマンド ライン mysql を開始します。mysql
  5. 編集したこの小さなスクリプトを実行します。

[コード] 使用mysql; UPDATE userSET Password=PASSWORD('YOUR_NEW_PASSWORD_HERE') WHERE User= 'ルート'; 出口; [/コード]

これで、自分の (PID を覚えていますか?..) を kill し、mysqld_safe通常どおりデーモンを起動するだけで済みます。

于 2011-10-28T12:35:34.693 に答える
0

大きな頭痛の種から身を守ってください... あなたの問題は、パスワードの周りの引用符がないことかもしれません. 特に、.my.cnf を使用せずに -p スイッチを渡して実際にログインできるためです。

[client]
user = myusername
password = "mypassword"
host = localhost

http://dev.mysql.com/doc/refman/5.5/en/option-files.html

于 2014-07-25T17:27:40.413 に答える
0

RE: セントス

mysql が起動時に自動起動するように設定されていることを確認します。

chkconfig --list mysqld

そうでない場合は、mysql を起動スクリプトに追加します。

chkconfig --levels 345 mysqld on

...そして再起動します。

それでもうまくいかない場合は、これでうまくいきました:

/etc/init.d/mysqld 停止

mysqld_safe --skip-grant-tables &

mysql -u ルート

mysql> mysql を使用します。

mysql> update user set password=PASSWORD("newrootpassword") where User='root';

mysql> 権限をフラッシュします。

mysql>終了

/etc/init.d/mysqld 停止

/etc/init.d/mysqld スタート

于 2015-06-08T23:47:31.357 に答える