我知道这命令:

GRANT ALL PRIVILEGES
ON database.*
TO 'user'@'yourremotehost'
IDENTIFIED BY 'newpassword';

但它只允许我授予一个特定的IP地址来访问远程MySQL数据库。如果我想让任何远程主机都能访问这个MySQL数据库呢?我怎么做呢?基本上,我将这个数据库公开,这样每个人都可以访问它。


当前回答

适用于Ubuntu的是授予用户所有权限:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;

在/etc/mysql/mysql.conf.d/mysqld.cnf中设置绑定地址:

bind-address            = 0.0.0.0

然后重新启动mysql守护进程:

service mysql restart

其他回答

编辑文件:

/ etc / mysql / percona-server cnf。

在文件中附加以下代码。

(mysqld) Bind-address = 0.0.0.0

创建远程访问用户。

$ mysql -u root -p      
mysql> GRANT ALL ON *.* to snippetbucketdotcom@'%' IDENTIFIED BY 'tejastank';   
mysql> FLUSH PRIVILEGES;    
mysql> exit

所有linux服务器工作,

对于MSWin c:\查找安装位置\文件路径

进入“/etc/mysql/mysql.conf”目录。d”然后 编辑mysqld.cnf文件

纳米mysqld.cnf美元

bind-address            = 127.0.0.1

mysqlx-bind-address     = 127.0.0.1

编辑,

bind-address            = 0.0.0.0

mysqlx-bind-address     = 0.0.0.0

你需要修改mysql的配置文件:

开始编辑mysql配置文件

vim /etc/mysql/my.cnf

add:

bind-address = 0.0.0.0

打开mysql控制台,执行以下命令(输入数据库名、用户名和密码):

GRANT ALL ON yourdatabasename。到管理员@“%” “yourRootPassword”;

然后执行:

冲洗特权;

打开命令行,使用任何具有root权限的编辑器打开/etc/mysql/mysql.conf.d/mysqld.cnf文件。

例如:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

然后注释掉下面这行:

Bind-address = 127.0.0.1

使用命令重新启动mysql以反映更改:

sudo service mysql restart

喜欢。)

只要创建一个用户到某个数据库

授予<database_name>的所有权限。* TO '<用户名>'@'%' IDENTIFIED BY '<密码>'

然后转到

执行nano /etc/mysql/mysql.conf.d/mysqld.cnf,将bind-address = 127.0.0.1修改为bind-address = 0.0.0.0

之后,您可以从任何IP连接到该数据库。