我知道这命令:

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

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


当前回答

使用admin用户启动MYSQL mysql -u admin-user -p (PASSWORD ON PROMPT) 创建新用户: 创建用户“newuser”@“%”(% -> anyhost) 授予特权: 对db_name授权SELECT,DELETE,INSERT,UPDATE。*到'newuser'@'%'; 冲洗特权;

如果您正在运行EC2实例,不要忘记在MYSQL/Aurura安全组中添加入站规则。

其他回答

您可以通过以下命令解决MariaDB的问题:

注意:

GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'mysql root password';

%是通配符。在本例中,它指所有IP地址。

TO 'user'@'%'

%是通配符-您也可以使用'%.domain。例如'或'%.123.123.123'之类的东西。

执行如下命令:

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

然后尝试从您指定的IP地址进行连接:

mysql -h address-of-remove-server -u root -p   

你应该能够连接。

编辑文件:

/ 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:\查找安装位置\文件路径

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

开始编辑mysql配置文件

vim /etc/mysql/my.cnf

add:

bind-address = 0.0.0.0