我知道这命令:

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

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


当前回答

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

注意:

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

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

其他回答

进入“/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
GRANT ALL PRIVILEGES ON *.* TO 'user'@'ipadress'

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

注意:

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

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

在像cPanel这样的网站面板中,您可以在允许访问MySQL数据库的主机名中添加一个%(百分比符号)。

通过添加单个%,您可以从任何IP或网站甚至从桌面应用程序访问您的数据库。

需要更改配置文件才能通过本地主机启用连接。

要通过远程ip连接,请以“root”用户登录并在mysql中运行以下查询。

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

这将创建一个在本地主机和远程ip上都可以访问的新用户。

还要注释位于/etc/mysql/my.cnf中的my.cnf文件中的下面一行

bind-address = 127.0.0.1

重新启动mysql

sudo service mysql restart

现在你应该可以远程连接到你的mysql了。