Answers:
不,没有(我刚刚在1小时前检查过)。您可以在my.cnf中注释绑定地址:
#skip-networking
#bind-address = 127.0.0.1
如果只需要2个IP,则必须使用防火墙。
socket
和bind-address
选项来发布和服务本地unix套接字和网络套接字。
绑定到127.0.0.x不会使它在所有设备上都可用,而只能在本地使用。如果希望使其可用于所有接口,则应使用0.0.0.0。如果希望从多个接口(但少于所有接口)访问它,则应绑定到0.0.0.0,并屏蔽不想访问的接口。
另外,作为第二安全层,您应确保所有MySQL用户的host字段都设置为%(即任何主机)以外的其他值。
INADDR_ANY (0.0.0.0) means any address for binding;
吗?
/etc/mysql/conf.d/bindaddress.cnf
包含内容的文件文件[mysqld] \n bind-address = 0.0.0.0
您不能绑定多个IP地址,但可以绑定所有可用IP地址。如果是这样,只需0.0.0.0
在您的MySQL配置文件(例如/etc/mysql/my.cnf)中使用绑定地址,如下所示:
bind-address = 0.0.0.0
如果地址为0.0.0.0,则服务器在所有服务器主机IPv4接口上接受TCP / IP连接。
此外,如果地址为::
,则服务器在所有服务器主机IPv4和IPv6接口上接受TCP / IP连接。使用此地址允许所有服务器接口上的IPv4和IPv6连接。
或者,您可以简单地bind-address=
将它们全部注释掉,这样它将绑定到所有地址。但是,skip-networking
如果还要允许远程连接,请确保未在my.cnf中启用(阅读更多:MySQL:允许远程和本地连接)。
更改绑定地址后,请不要忘记通过以下方式重新启动MySQL服务器:
sudo service mysql restart
最终,您可以考虑使用Master / Slave复制在一台机器(不同端口)上运行多个MySQL实例。复制使数据可以从一台MySQL数据库服务器(主服务器)复制到一台或多台MySQL数据库服务器(从服务器)。
阅读更多:
我认为您的问题与此错误有关http://bugs.mysql.com/bug.php?id=14979 该错误报告提出了一些解决方法。
在MySQL 8.0.13之前,--bind-address接受一个地址值,该值可以指定一个非通配符IP地址或主机名,或者一种允许在多个网络接口上监听的通配符地址格式之一(*,0.0 .0.0或::)。
从MySQL 8.0.13开始,--bind-address接受如上所述的单个值,或以逗号分隔的值的列表。当该选项命名一个包含多个值的列表时,每个值都必须指定一个非通配IP地址或主机名。没有人可以指定通配符地址格式(*,0.0.0.0或::)。
来源:https : //dev.mysql.com/doc/refman/8.0/en/server-options.html
在my.cnf中进行更改(通常在Linux或Windows下为/etc/mysql/my.cnf,请检查此答案。
bind-address = 127.0.0.1
至
bind-address = 0.0.0.0
然后在Windows上通常通过Win + R services.msc重新启动mysql(在Ubuntu 服务mysql restart上)。
0.0.0.0告诉它使用my.cnf中给出的端口绑定到所有可用IP