Python を MySQL に接続しようとしていますが、次のエラーが発生します。
OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")
私はそれを6時間解決しようとしていますが、失敗します。誰でも私を助けてもらえますか?
Python を MySQL に接続しようとしていますが、次のエラーが発生します。
OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: NO)")
私はそれを6時間解決しようとしていますが、失敗します。誰でも私を助けてもらえますか?
これは、mysql では不要なパスワード パラメータを忘れたことを意味します。
Unix コマンドラインから:
$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
$ mysql -u root -p
Enter password:
<typing password>
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 47
Server version: 5.1.37-1ubuntu5.5 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Python からのロギングとまったく同じではありませんが、
しかし、それは同じエラーであり、おそらくあなたの場合、パスワード引数がmysqlにまったく到達しなかったことを意味します.
間違ったパスワードを入力すると、コマンド ラインで非常に異なるエラーが表示されます。
$ mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
root パスワードを指定していません。リモート コンピューターから mysql にアクセスしている場合... root ユーザーはデフォルトで localhost 接続のみに制限されています。これを実行して、どこからでもアクセスできるようにしてみてください。
GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY "YOUR_ROOT_PASSWORD";
FLUSH PRIVILEGES;
ファイアウォールの設定も確認してください。
import MySQLdb
cxn = MySQLdb.connect(host = 'localhost',user = 'root',passwd = 'password', db = 'yourdatabase')
したがって、パスワードが何であるかを知る必要があり、次のものを使用してデータベースを作成する必要があります。
CREATE DATABASE yourdatabase;
上記のように mysql コマンドラインから。
構成ファイルに引用符が含まれていたため、このエラーが発生していました。
[mysql]
username: 'uuuu'
password: 'pppp'
host: 'localhost'
database: 'dddd'
になるはずだった
[mysql]
username: uuuu
password: pppp
host: localhost
database: dddd