我知道这命令:
GRANT ALL PRIVILEGES
ON database.*
TO 'user'@'yourremotehost'
IDENTIFIED BY 'newpassword';
但它只允许我授予一个特定的IP地址来访问远程MySQL数据库。如果我想让任何远程主机都能访问这个MySQL数据库呢?我怎么做呢?基本上,我将这个数据库公开,这样每个人都可以访问它。
我知道这命令:
GRANT ALL PRIVILEGES
ON database.*
TO 'user'@'yourremotehost'
IDENTIFIED BY 'newpassword';
但它只允许我授予一个特定的IP地址来访问远程MySQL数据库。如果我想让任何远程主机都能访问这个MySQL数据库呢?我怎么做呢?基本上,我将这个数据库公开,这样每个人都可以访问它。
当前回答
在像cPanel这样的网站面板中,您可以在允许访问MySQL数据库的主机名中添加一个%(百分比符号)。
通过添加单个%,您可以从任何IP或网站甚至从桌面应用程序访问您的数据库。
其他回答
对于那些搞砸了的人,这是我如何授予特权的,希望它能帮助到一些人
GRANT ALL ON yourdatabasename.* TO root@'%' IDENTIFIED BY
'yourRootPassword';
如前所述,%是一个通配符,这将允许任何IP地址连接到您的数据库。我在这里做的假设是,当您连接时,您将有一个名为root的用户(这是默认的)。输入根密码,就可以开始了。注意,在root用户周围没有单引号(')。
使用该命令:
GRANT ALL ON yourdatabasename.* TO root@'%' IDENTIFIED BY 'yourRootPassword';
然后:
FLUSH PRIVILEGES;
然后注释掉文件"/etc/mysql/mysql.conf.d/mysql .cnf"(这是必须的!)
bind-address = 127.0.0.1
对我有用!
进入“/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'
你需要修改mysql的配置文件:
开始编辑mysql配置文件
vim /etc/mysql/my.cnf
add:
bind-address = 0.0.0.0