无法在linux上设置对mysql服务器的远程访问

wa7juj8i  于 2021-06-23  发布在  Mysql
关注(0)|答案(2)|浏览(462)

我正在尝试在我的debian linux系统上设置mysql服务器,以便进行远程访问。但是,我遇到了一个无法设置“bind address”变量的问题。我试图用命令设置它 mysqladmin --bind-address=0.0.0.0 它又回来了 mysqladmin: unknown variable 'bind-address=0.0.0.0' .
我还尝试插入以下内容: [mysqld] bind-address = 0.0.0.0 两者兼而有之 /etc/mysql/my.cnf 以及 /etc/mysql/conf.d/mysql.cnf 并通过运行 service mysql restart 我会跑的 lsof -Pni :3306 查看它是否从配置文件获取绑定地址,并在其本地ip之外侦听,然后返回 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 28978 mysql 20u IPv4 148539 0t0 TCP 127.0.0.1:3306 (LISTEN) 这向我表明,它仍然只是在本地听。我已经查过了 /etc/default/mysql 文件以确保没有任何启动选项集阻止我远程访问它。
我尝试过将protocol选项设置为“tcp”和“socket”,但都不起作用。
如何让mysql在本地网络之外监听?提前谢谢。

sbtkgmzw

sbtkgmzw1#

检查mysql版本 mysql --version 绑定地址的默认值如下:
默认值(>=5.6.6)*
默认值(<=5.6.5)0.0.0.0
所以实际上不需要为上面的mysql版本设置绑定地址。
检查mysql配置文件位置 $ which mysqld /usr/local/mysql/bin/mysqld $ /usr/local/mysql/bin/mysqld --verbose --help | grep -A 1 "Default options" Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 检查上述配置文件中是否有任何绑定地址配置。
重新启动mysqld服务 service mysqld restart 确认mysql用户已创建 user@'%' 允许用户在外部连接mysql。

0sgqnhkj

0sgqnhkj2#

sudo apt install mariadb-client-core-10.1

sudo vi /etc/mysql/my.cnf

将以下内容添加到文件:

[mysqld]
bind-address = 0.0.0.0

保存文件并退出。

mysql -u admin -p -P3307 -h 192.168.2.110

相关问题