たった今、yumからmysqlをインストールし、OS Fedoraがmariadbをインストールしてくれました。 mariadbはmysqlの新しいブランチであることは知っていますが、なぜパスワードの設定を求められないのか理解できません。 123456などを試しましたが、失敗しました。私のFedoraは新しく、mysql/mariadbをインストールするのは初めてです。どうすればいいですか?
https://mariadb.com/kb/en/mysql_secure_installation/ から:
MariaDBにログインしてセキュリティを確保するには、rootユーザーの現在のパスワードが必要です。 MariaDBをインストールしたばかりで、rootパスワードをまだ設定していない場合、パスワードは空白になるため、ここでEnterキーを押してください。
パスワードは空白になります
それがあなたの答えだと思います。
同じ問題がありました。パスワードは空ですが、それでもエラーメッセージは表示されます。解決策は「Sudo」を使用するだけです
$ Sudo mysql
mysqlツールを開きます
データベースを保護するには、Sudoを再度使用する必要があります。
$ Sudo mysql_secure_installation
mariadbは、デフォルトでUNIX_SOCKETプラグインを使用してユーザールートを認証します。 https://mariadb.com/kb/en/mariadb/unix_socket-authentication-plugin/
「彼はオペレーティングシステムに対して自分自身を識別しているため、データベースに対して再度行う必要はありません」
したがって、mysql/mariadbでrootとしてログインするには、unixでrootユーザーとしてログインする必要があります。
Sudo mysql
通常のUNIXユーザーからrootでログインする場合は、rootの認証プラグインを無効にできます。
事前にmysql_secure_installationを使用してルートパスワードを設定し(デフォルトのパスワードは空白)、すべてのユーザーが以下を使用してルートログインとして認証できるようにします。
Shell$ Sudo mysql -u root
[mysql] use mysql;
[mysql] update user set plugin='' where User='root';
[mysql] flush privileges;
[mysql] \q
ルーカス、フロリスは正しいが、あなたはこれがあなたの問題を解決しなかったとコメントする。 mysql(mariadb)が受け入れるべき空白のパスワードを受け入れず、「/ var/lib/mysql」が存在しないという同じ症状に遭遇しました。
この Moonpoint.com ページはオンポイントであることがわかりました。おそらく、私のように、あなたはmariadbサービスの代わりにmysqldサービスを開始しようとしました。試してください:
systemctl start mariadb.service
systemctl status mysqld service
通常通りに続きます:
mysql_secure_installation
デフォルトのパスワードは空です。より正確には、localhostでrootとしてログインするためのパスワードも必要ありません。 rootになる必要があります。ただし、最初にパスワードを設定する必要がある場合(rootへのリモートアクセスを許可する場合)、次を使用する必要があります。
Sudo mysql_secure_installation
空のパスワードを入力して、指示に従ってください。
あなたが抱えている問題は、ローカルマシンからrootとしてログインしようとするときにrootになる必要があるということです。
Linuxの場合:mariadbは、ユーザーがIS ROOTを求めている場合にのみ、ソケット(localhost)のルートとして接続を受け入れます。つまり、試してみても
mysql -u root -p
また、正しいパスワードを使用すると、アクセスが拒否されます。同じことが言えます
mysql_secure_installation
Mariadbは、現在のユーザーがrootではないため、常にパスワードを拒否します。したがって、Sudoで(またはマシンのrootユーザーとして)それらを呼び出す必要があります。したがって、ローカルで使用したいだけです。
Sudo mysql
そして
Sudo mysql_secure_installation
Mysqlからmariadbに移行するときに、これを理解するのに時間がかかりました。
Mysql mariadb 10.3をインストールした後、同じ問題が発生しました。パスワードがNULLではなかったため、単にEnterキーを押しても機能しませんでした。そのため、最終的にパスワードを変更する必要がありました。 here の指示に従いました。一言で言えば;サーバーを停止する
Sudo systemctl stop mariadb.service
データベースサーバーを起動し、ネットワークと許可テーブルをスキップすることにより、バックドアを介してサーバーにアクセスします。
Sudo mysqld_safe --skip-grant-tables --skip-networking &
ルートとしてログイン
Sudo mysql -u root
その後、サーバーのパスワードを変更します
use mysql;
update user set password=PASSWORD("new_password_here") where User='root';
MySQL 5.7以降、mysql.userテーブルフィールドのパスワードフィールドは削除されましたが、フィールド名は「authentication_string」になりました。したがって、mysqlのバージョンに基づいて適切なテーブル名を使用してください。最後に変更を保存してサーバーを再起動します
flush privileges;
Sudo systemctl stop mariadb.service
Sudo systemctl start mariadb.service
DBが適切にインストールされ、間違ったパスワードを入力した場合、スローされるエラーは次のようになります。
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
次のエラーは、DBが完全に起動/インストールされていないことを示しています。コマンドがDBインスタンスを見つけて通信できません。
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")
新規インストール後にパスワードを変更することをお勧めします
$ Sudo service mysql stop
$ mysqld_safe --skip-grant-tables &
$ Sudo service mysql start
$ Sudo mysql -u root
MariaDB [(none)]> use mysql;
MariaDB [mysql]> update user set password=PASSWORD("snafu8") where User='root';
MariaDB [mysql]> flush privileges;
MariaDB [mysql]> exit;
$ Sudo service mysql restart
OR
mysqladmin -u root password 'enter password here'
ここから正しい答えを見つけたと思います。
だから一般的にこれはこう言います:
user:root
password:password
これは、バージョン10.0.15-MariaDBの場合、Wnmpver。 Windows 7 x86上の2.1.5.0
Mariadbのデフォルトのパスワードは空白です。
$ mysql -u root -p
Enter Password: <--- press enter
私にとっては、password = admin
が機能しました。 pacman
、 Arch (- Manjaro KDE )を使用してインストールしました。
NB:MariaDBは Amarok の依存関係として既にインストールされています。
デフォルトでは、MariaDBインストールには匿名ユーザーが含まれており、ユーザーアカウントを作成しなくても誰でもMariaDBにログインできます。これはテストのみを目的としており、インストールを少しスムーズにすることを目的としています。実稼働環境に移行する前に、それらを削除する必要があります。
現在ログインしているユーザーをルートに切り替え、パスワードなしでログインしますmysql -uroot