だから私は基本的に、mysqlでmariadbをhomebrewを使用してMacにインストールしています。これらは私が作ったステップです:
mysql_install_db->失敗
警告:ホスト「Toms-MacBook-Pro.local」は、/ usr/local/Cellar/mariadb/10.4.6_1/bin/resolveipで検索できませんでした。これはおそらく、libcライブラリがこのバイナリのMariaDBバージョンと100%互換性がないことを意味します。 MariaDBデーモンmysqldは、ホスト名の解決が機能しないことを除いて、正常に機能するはずです。つまり、MariaDB特権を指定するときは、ホスト名ではなくIPアドレスを使用する必要があります。 mysql.userテーブルはすでに存在します!
ランニング mysql_upgrade
その後、次のエラーが表示されました:
バージョンチェックに失敗しました。 「mysql」コマンドラインクライアントのエラー1698(28000)の呼び出し時に次のエラーが発生しました:ユーザー「root」@「localhost」のアクセスが拒否されました致命的なエラー:アップグレードに失敗しました
次のようにmysqlを入力することはできません。
mysql -uroot
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
しかし、このように:
Sudo mysql -u root
Userテーブルはこれを返します:
MariaDB [(none)]> USE mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [mysql]> SELECT User, Host, plugin FROM mysql.user;
+---------------+-------------------------+-----------------------+
| User | Host | plugin |
+---------------+-------------------------+-----------------------+
| root | localhost | mysql_native_password |
| toms | localhost | mysql_native_password |
| | localhost | |
| | toms-macbook-pro.local | |
+---------------+-------------------------+-----------------------+
4 rows in set (0.004 sec)
私はこれを使っていますmysql_secure_installation
そして今それは私のために動作します:
$ mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.
Enter current password for root (enter for none): << enter root here >>
現在のパスワードとしてroot
と入力します
OK, successfully used password, moving on...
Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.
残りを行います
MariaDB 10.4は、デフォルトでローカルルートの nixソケット 認証プラグインを有効にします。つまり、新しくインストールされたシステムでは、ローカルルートであり(Sudo
で実行)、TCPではなくソケットを使用している限り、パスワードなしで実行中のサーバーに接続できます。
さらに、MariaDB 10.4では、アカウントに複数の認証方法を使用できます。ローカルルートを構成してパスワード認証も使用できるようにしますが、最初はパスワードを無効にします(以前のように空のパスワードを設定しません)。パスワード認証を使用してmysql -uroot -p
として接続する場合は、まずUnixソケットを使用してルートとして接続し、SET PASSWORD=...
を実行する必要があります。
高度なユーザー構成は、JSON形式でmysql.global_priv
テーブルに保存されるようになりました。 mysql.user
は下位互換性を保つために残されていますが、テーブルではなくなりビューになっています。複数の認証方法を許可した結果、ユーザー設定が常に正確に表示されるとは限りません。具体的には、ユーザーが使用できるすべての認証方法が表示されるわけではないため、mysql.global_priv
を照会する必要があります。新規インストールでは、次のようなものが表示されます
+-----------+--------+--------------------------------------------------------------------------------------------------------------------------------------------+
| Host | User | Priv |
+-----------+--------+--------------------------------------------------------------------------------------------------------------------------------------------+
| localhost | root | {"access":18446744073709551615,"plugin":"mysql_native_password","authentication_string":"invalid","auth_or":[{},{"plugin":"unix_socket"}]} |
...
10.4認証の変更についての詳細情報 こちら をご覧ください。