web-dev-qa-db-ja.com

mysql start ERROR 1045(28000):OpenSuse12.1でユーザー 'root' @ 'localhost'(パスワード番号を使用)のアクセスが拒否されました

openSuse12.1を実行しています。ノートに...

よく私はApache2とmysqlを設定しました-(ランレベルで起動した後)。

まあ-私は私がする必要があるすべてをしました-しかし今私は立ち往生しています....

phpmyadminをインストールした後。私はサイトを見つけようとしました...私はできませんでした

それから私はコマンドラインを介してmysqlを起動しようとしました-失敗しました... duhhhhhh !! ??私は今何ができますか-ここで何が間違っていますか

linux-wyee:/home/martin # mysql start 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
linux-wyee:/home/martin #

うーん、私は接着剤を持っていません-おそらく私はいくつかのパスワードを台無しにしました。どう思いますか!すべてが正常に実行されていることを確認するにはどうすればよいですか?つまり、Apache2、mysql、およびすべてのものが正常に動作しなくなることを意味します

1
zero

多分あなたはsystemctlを使ってmysqlサーバーデーモンを起動するべきです

Sudo systemctl start mysql.service

また、サーバーをsuseの標準ランレベルに追加する場合は、次を使用する必要があります。

Sudo systemctl enable mysql.service

次に、rootとしてmysql_secure_installationを実行する必要があります。

Sudo mysql_secure_installation

ここでは、手順に従い、rootmysqlユーザーのパスワードを入力する必要があります。これはnot Linuxボックスのrootユーザーであることに注意してください。

ここで、mysqlクライアントを使用するだけです。単に発行する

mysql

^^そしてあなたがsuseにいることを忘れないでください。 rcscript startのように推測されたものは、suseが現在systemdを使用しているため、機能しません。

2
l1zard

Mysqlのインストールでは、パスワードを使用せずにrootとしてローカルでmysqlのインスタンスに接続できないと文句を言っています。パスワードを忘れた場合、またはパスワードがわからない場合は、次のようにリセットできます。

  1. 実行中の現在のmysqlプロセスを強制終了し(ps -efc | moreを実行)、MySQLを言うものをkill <process_id>で強制終了します。より良い代替策は、rcmysql stopを使用してプロセスを正常に停止することです。
  2. init.txtという名前のファイル(理想的にはrootのみが読み取ることができるディレクトリ内)を次のテキストで作成します:

    UPDATE mysql.user SET Password = PASSWORD( 'NewPassword')WHERE User = 'root'; FLUSH PRIVILEGES;

  3. MySQLをセーフモードで起動し、init.txtファイルをパラメータとして次のように渡します。

    mysqld_safe --init-file=mysql-init.txt &
    

これで、MySQLをもう一度強制終了して、サービスを通常どおり再起動できます(Suseはrcmysql startを使用していると思います:

rcmysql start

通常どおりにサーバーに接続します。

mysql -u root @ localhost -p

Init.txtファイルで指定したパスワードを入力すると、準備が整います。 init.txtファイルを削除してください!!!!

1
Icarus