MariaDB:主机“127.0.0.1”没有特权

gum*_*nkt 3 mariadb

我的 Ghost 实例想要连接到我的 MariaDB,但错误是:

Message: 'ER_HOST_NOT_PRIVILEGED: Host '127.0.0.1' is not allowed to connect to this MariaDB server'
Run Code Online (Sandbox Code Playgroud)

这是我的 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
Run Code Online (Sandbox Code Playgroud)

Mic*_*ton 5

我怀疑你的问题是你已经设置了skip-name-resolve

默认情况下,MySQL/MariaDB 用户数据库仅包含允许从localhost. 但是,如果您跳过名称解析,则 MySQL 不会将您的连接从 转换127.0.0.1localhost,因此无法将您的连接与允许连接的任何主机相匹配。

删除skip-name-resolve并重试。

如果您确实想保留此选项,则需要创建可以在禁用时进行连接的 MySQL 用户::1127.0.0.1如果您仍然使用 IPv4)skip-name-resolve,然后重新启用它。