我正在尝试将bind-address
我的 MariaDB 安装设置为0.0.0.0
允许外部连接。
我编辑/etc/mysql/mysql.conf.d/mysqld.cnf
并更新了该[mysqld]
部分如下:
[mysqld]
...
bind-address = 0.0.0.0
...
运行 后sudo service mariadb restart
,我仍然无法从外部源连接。我可以bind-address
通过运行 确认 没有更新mysqld --print-defaults
。输出如下,您可能需要水平滚动一点才能看到加粗的参数。
mysqld would have been started with the following arguments:
--user=mysql --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306 --basedir=/usr --datadir=/var/lib/mysql --tmpdir=/tmp --lc-messages-dir=/usr/share/mysql --skip-external-locking --bind-address=127.0.0.1 --key_buffer_size=16M --max_allowed_packet=16M --thread_stack=192K --thread_cache_size=8 --myisam_recover_options=BACKUP --query_cache_limit=1M --query_cache_size=16M --log_error=/var/log/mysql/error.log --expire_logs_days=10 --max_binlog_size=100M --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
我该如何正确更新bind-address
?
答案1
所以,事实证明我编辑了错误的配置文件。运行后strace mysqld --print-defaults
我发现它打开了一个不同的文件。
更新后bind-address
选项/etc/mysql/mariadb.conf.d/50-server.cnf
正确改变。
答案2
还值得注意的是:mariadb.cnf
来源conf.d
和mariadb.conf.d
目录。我想知道为什么我不能摆脱这个bind-address=127.0.0.1
选项。
因为我做了备份original.50-server.cnf
,所以仍然被读取。
答案3
如果您在 .conf 文件中注释掉 (#) 行。
# !includedir /etc/mysql/mariadb.conf.d
# !includedir /etc/my.cnf.d
您的.conf 文件中的参数不会被 50-server.cnf 和其他文件中的参数覆盖。