MariaDB: ホスト '127.0.0.1' に権限がありません

MariaDB: ホスト '127.0.0.1' に権限がありません

Ghost インスタンスが MariaDB に接続しようとしていますが、エラーが発生します:

Message: 'ER_HOST_NOT_PRIVILEGED: Host '127.0.0.1' is not allowed to connect to this MariaDB server'

これが私のmy.cnfです:

[server]
skip-name-resolve
innodb_buffer_pool_size = 128M
innodb_buffer_pool_instances = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 32M
innodb_max_dirty_pages_pct = 90
query_cache_type = 1
query_cache_limit = 2M
query_cache_min_res_unit = 2k
query_cache_size = 64M
tmp_table_size= 64M
max_heap_table_size= 64M
slow-query-log = 1
slow-query-log-file = /var/log/mysql/slow.log
long_query_time = 1
bind-address = 127.0.0.1

[client-server]
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/

[client]
default-character-set = utf8mb4

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
binlog_format = MIXED
innodb_large_prefix=on
innodb_file_format=barracuda
innodb_file_per_table=1

答え1

問題は、 を設定したことだと思われますskip-name-resolve

デフォルトでは、MySQL/MariaDB ユーザー データベースには、 からのアクセスを許可するエントリのみが含まれますlocalhost。ただし、名前解決をスキップすると、MySQL は接続を から に変換しない127.0.0.1ためlocalhost、接続を許可されているホストに接続を一致させることができません。

削除しskip-name-resolveてもう一度お試しください。

::1このオプションを本当に維持したい場合は、が無効になっている間に( 127.0.0.1IPv4 を引き続き使用する場合)から接続できる MySQL ユーザーを作成しskip-name-resolve、その後再度有効にする必要があります。

関連情報